小编Pau*_*Jan的帖子

已弃用的Canvas.getMatrix()的替代方法是什么?

我有以下代码片段,它使用画布的当前转换矩阵转换一组边界.

    final RectF bounds = renderer.computeBounds
    activeCanvas.getMatrix().mapRect(result, bounds);
    return bounds;
Run Code Online (Sandbox Code Playgroud)

但是,使用最新的API级别(16),我会收到警告

The method getMatrix() from the type Canvas is deprecated

API 16 Diff Specification确认.

哪个都很好,但Canvas.getMatrix()的当前文档没有提到弃用,也没有提供替代方案.作为一种解决方法,我现在只是简单地抑制了这个警告,但我真的想知道这种新的和改进的(tm)方式是什么样的.

android android-4.2-jelly-bean

24
推荐指数
2
解决办法
7607
查看次数

重新编译RTL - 如果可能,那么如何?

我有这个想要做一些实验来修改Delphi运行时库(RTL)的下腹部,system.pas以及喜欢......这可能与否?

我非常喜欢"是的,但你必须为某些汇编器魔法提供自定义.obj文件,因为它们从未随官方Delphi源一起发布".我很好,我只是想知道.

我想用Delphi 7做这个实验,但是关于任何其他版本的内部信息都没问题.这是与石器时代以来与德尔福合作的公司的特权之一.

(我一直认为这是RTFM问题之一,答案是响亮的"不!",但由于某些原因谷歌不会证实它.)

delphi

21
推荐指数
2
解决办法
5092
查看次数

如何在android中反向启动天文台?

cmtr.setText(finalTime);
cmtr.setBase(SystemClock.elapsedRealtime());

timetest = SystemClock.elapsedRealtime();
Log.d("SETTIME: ", ""+timetest);
cmtr.start();

eltime = SystemClock.elapsedRealtime();
Log.d("ELapsed: ", ""+eltime);
Run Code Online (Sandbox Code Playgroud)

注意:我想以相反的顺序启动我的天文台表.就像我设置天文钟10秒.现在,我想以相反的顺序从10到0秒开始.所以任何人都可以帮助获得这个解决方案.非常感谢你提前.

android

19
推荐指数
2
解决办法
2万
查看次数

如何为Entity Framework CodeFirst迁移设置隔离级别

如果针对为SQL Server复制发布的表运行实体框架迁移(自动或显式),则会出现以下错误:

您只能在READ COMMITTED或REPEATABLE READ隔离级别中指定READPAST锁

之前(此处)存在一些问题,但它们完全无法解决根本原因:实体框架迁移在Serializable隔离级别运行(如SQL Server分析器中清楚显示).

哪个是结构更改事务的安全选择,但它与发布的sql server表不兼容.与dbContext.SaveChanges()事务中使用的默认READ COMMITED SNAPSHOT级别不同,我还没有找到一种方法来为代码中的迁移实际设置不同的隔离级别:

  • TransactionScope (设置事务隔离级别的经典方法)似乎在期间被忽略 Database.Initialize()

  • 最近推出的Database.BeginTransaction(isolationLevel)实际尝试在启动新事务之前初始化数据库,因此无法使用.

已知的解决方法

  1. 生成到SQL脚本的所有迁移.这是有效的,但基于代码的迁移是一个我不想错过的强大工具.

  2. 使用显式迁移,并使用类似的东西启动每个Up()Down()方法

    Sql("set transaction isolation level read committed");

这有效,但由于开发人员通常不使用复制数据库,因此不方便且容易出错.

c# sql-server entity-framework ef-migrations entity-framework-6

16
推荐指数
1
解决办法
4590
查看次数

Visual Studio Attach To Process需要花费很长时间才能显示出来

从大约一个月或2个月开始,Visual Studio 2015 附加到进程对话框需要1-2分钟才能显示在我的一台计算机上.它过去只需要几秒钟,感觉好像突然花费了大量精力来检索进程列表.

毋庸置疑,这是我的临时调试会议的迅速发展.任何使其恢复到以前的工作状态的技巧,或对基本原因的见解,将非常感激.

对于那些不知道Attach to Process对话框的内容:)

重新启动计算机(例如,在Windows Update重新启动后)会暂时解决问题.

注意:附加本身工作正常,并且像以前一样快/慢.大多数相关问题似乎与符号加载有关,但这个问题很好用.

额外细节

  • 我的电脑具有适用于开发机器的适度规格(16GB内存,快速SSD,i5-6600).
  • 根据任务管理器的说法,检索进程列表时工作并不是特别困难.将更详细地检查.
  • 作为一个实验,我一直等到事情再次变慢,并随机开始使用Process explorer拍摄流程,将流程数量从261减少到209.现在快速.似乎这些过程中的一个是罪魁祸首(或者可能在VS> 256个进程中有点翻转:D),现在我只需要等待事情变慢并进行进一步测试.

ide visual-studio-2015

12
推荐指数
1
解决办法
3094
查看次数

DbContext.saveChanges()中的NullReferenceException

以我的第一个babysteps与Entity Framework 5.0,我遇到了我创建的第一个实体的异常.

请注意,之后创建的每个表都可以正常工作.另外,请注意我已经采取了重新生成数据库和/或重新启动Visual Studio IDE的常规步骤.

使用Model-First,我创建了一个名为的简单表Contacts,定义为

  <EntityType Name="Contacts">
    <Key>
      <PropertyRef Name="ContactID" />
    </Key>
    <Property Name="ContactID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
    <Property Name="Name" Type="nvarchar(max)" Nullable="false" />
  </EntityType>
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行以下代码(来自ASP.NET页面的Page_Load)

            var contact = new DataContext.Contact { Name = aName };

            context.Contacts.Add(contact);
            context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

(使用aName!= null)

例外:

System.NullReferenceException was unhandled by user code
  HResult=-2147467261
  Message=Object reference not set to an instance of an object.
  Source=System.Web
  StackTrace:
       at System.Web.UI.ParseChildrenAttribute.GetHashCode()
       at System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(T obj)
       at System.Collections.Generic.HashSet`1.InternalGetHashCode(T item)
       at System.Collections.Generic.HashSet`1.AddIfNotPresent(T value)
       at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other)
       at …
Run Code Online (Sandbox Code Playgroud)

c# asp.net entity-framework-5

11
推荐指数
2
解决办法
6947
查看次数

如何在SharePoint中存储特定于用户的数据

我有一些用户特定的数据,我需要存储在SharePoint中,并通过自定义webparts使用户可以访问.让我们说一个喜欢的网址列表.存储此信息最直接的方法是什么?

  • SPUser或类似的一些内置属性包,我不知道.
  • SPList,通过用户列关联.
  • 自定义数据库表,通过SPUser ID关联.
  • 除此以外?

对我来说听起来像RTFM,但我可能会问谷歌错误的问题.

[更新]

我们最终将这些信息存储在一个固定位置的简单列表中,并使用Person字段进行过滤.也许确实是最简单的解决方案,但从技术上讲,我认为下面的明确答案更好.

sharepoint wss sharepoint-2010

10
推荐指数
1
解决办法
5675
查看次数

在变体记录中包含方法的语法是什么?

我有以下记录定义

  E3Vector3T = packed record
  public
      x: E3FloatT;
      y: E3FloatT;
      z: E3FloatT;

      function length: E3FloatT;
      function normalize: E3Vector3T;
      function crossProduct( const aVector: E3Vector3T ): E3Vector3T;

      class operator add( const aVector1, aVector2: E3Vector3T ): E3Vector3T;
      class operator subtract( const aVector1, aVector2: E3Vector3T ): E3Vector3T;
      class operator negative( const aVector: E3Vector3T ): E3Vector3T;
      class operator multiply( const aVector: E3Vector3T; const aScalar: E3FloatT ): E3Vector3T;
      class operator divide( const aVector: E3Vector3T; const aScalar: E3FloatT ): E3Vector3T;
  end;
Run Code Online (Sandbox Code Playgroud)

我想要做的是引入一个变体记录部分,以便能够单独和作为一个数组访问这三个元素,即

  E3Vector3T = packed record
  public …
Run Code Online (Sandbox Code Playgroud)

delphi record variant delphi-2010

9
推荐指数
2
解决办法
616
查看次数

如何在Delphi 6 - 2007中保持表格和框架的可编辑性?

我们最近将长期运行的Delphi项目转换为开源项目.已经有多个人提供了补丁,这很好,但遗憾的是,使用Delphi 2006(及更高版本)保存时,表单和框架在.dfm中包含了旧版本无法处理的新属性.IDE可以非常优雅地处理表单("忽略属性?"),但是帧会在运行时加载并导致错误.就我而言,不是一种选择.

我现在手动从.dmf文件中删除了这些属性,但我真的想知道是否有更优雅的解决方案.没有办法从新的IDE中以向后兼容的格式保存,是吗?是否有现有工具从.dfm中删除不受支持的属性?我缺少任何其他优雅的解决方案?

通常,对于商业项目,我只是将项目升级到适用的最新版本......但由于这是开源的,我真的不想放弃那些仍在使用Delphi 7的开发人员.这包括我自己,实际上.

forms delphi multiple-versions

7
推荐指数
2
解决办法
396
查看次数

在Mac上每隔一个部署开始调试内核的致命错误

我正在Windows 32位机器上编写FireMonkey HD应用程序,并在运行Snow Leopard的MacBook上部署(远程调试)它.我正在运行Delphi XE2试用版.

一切都运行正常,除了一件事:每次运行我按下F9时出现以下错误:

启动调试内核的致命错误:"无效的调试器请求".请保存您的工作并重新启动Delphi XE2.

重新启动XE2并再次运行可以解决这个问题......对于一次运行,我再次遇到同样的错误.无论我是通过CTRL-F2停止调试运行,还是在Mac上正常关闭应用程序,都没有区别.它发生在每个项目上(包括只有一个FireMonkey表单的新的,空的).PAServer终端没有信息,它仍在"监听".

任何人都有关于如何避免这个问题的任何提示?

delphi delphi-xe2

6
推荐指数
1
解决办法
911
查看次数