小编Bar*_*rry的帖子

如何通过RTTI区分TDateTime属性和Double属性?

使用Delphi 2010中的RTTI系统,有没有办法找出属性是否是TDateTime?每当我回调asVariant并且如果我检查属性类型时,它当前将它视为双精度.这是因为它只能看到基本类型吗?(TDateTime = double)

delphi rtti tdatetime

18
推荐指数
1
解决办法
2174
查看次数

实体框架渴望加载不返回数据,延迟加载

我首先使用代码EF5,我有一个对象,其集合定义为virtual(延迟加载).这会在调用时返回数据.但是我希望它能够满载.我已从virtual属性签名中删除但现在它总是返回null数据.EF甚至没有运行查询,任何人都可以帮忙吗?

编辑:我知道.include()我只是喜欢使用非虚拟属性方法.

对象

User([Key]Id在Resource对象上,是person类的Parent):

namespace Entities
{
    [Table("Users")]
    public class User : Person
    {

    [Required]
    public ICollection<Role> Roles { get; set; } 

    }
}
Run Code Online (Sandbox Code Playgroud)

角色:

namespace Entities
{
    public class Role
    {
        [Key]
        public string Id { get; set; }

        public virtual ICollection<User> Users { get; set; } 
    }
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework lazy-loading poco

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

深度对象比较Delphi

在Delphi中寻找一种方法来为我做深度对象比较,最好是2010 RTTI,因为我的对象不会继承TComponent.我正在开发一个测试框架DUnit并且需要一些可靠的东西,这将指出究竟哪个字段导致问题(序列化比较使它有点模糊).

delphi comparison object

13
推荐指数
2
解决办法
3411
查看次数

德尔福内存问题(FastMM4)

处理使用工厂构建对象的项目.我保持指向全局变量中的工厂函数的指针(我知道不好)并在初始化时注册它们.

我最近有兴趣看看项目是否有内存泄漏,所以决定下载FastMM4并仔细查看.它提出了一些我可以解决的错误,但是这个我有点难以理解,似乎我没有释放与工厂相关的内存,如下面的代码所示,我得到了一个小的内存泄漏.尽管如此,并不荒谬但令人讨厌.

我将用什么来释放内存(如果是这样的话)我已经尝试过处理(@factoryfunction)但似乎会破坏一切.我不太喜欢低级指针的东西总是让我感到困惑,所以如果有人可以提供帮助那就太好了.

我在下面列举了一个例子,我刚刚写下了我的头脑,说明了我遇到的问题.

干杯,

巴里

unit Test;

interface

uses classes;

type

TAFactoryFunction = reference to function (const aType : integer): TObject;

function testfunction (const aType : integer) : TObject;

implementation

function testfunction(const aType: integer) : TObject;
begin
    result := TObject.Create;
end;

var
   FactoryFunction : TAFactoryFunction

initialization
   FactoryFunction := testfunction;

finalization
   // possibly some freemem code here?

end.
Run Code Online (Sandbox Code Playgroud)

delphi memory-leaks factory global-variables fastmm

7
推荐指数
1
解决办法
518
查看次数