1
我的Delphi代码中有大量的日志记录,它经常使用Self.ClassName来记录包含当前正在执行的代码的类的名称。德尔福棱镜 - 我如何确定TObjectExtender是“扩展”的实际类
我现在正在将一些代码编译成Delphi Prism .NET程序集。
但是,在Delphi Prism下,Self.ClassName现在返回“TObjectExtender”而不是实际的类名。
例如
type
TMyClass: TObject
begin
procedure MyProc();
end;
...
procedure TMyClass.MyProc;
begin
Log(Format('%s: A log message', [Self.ClassName]));
end;
输出
TMyClass: A log message
在Delphi XEII编译时,但在Delphi棱镜在VS 2010和输出
TObjectExtender: A log message
含有运行代码的实际类的编译时无论。
任何人都可以提出一种方法来获取Delphi Prism中的实际类名吗?
真棒,谢谢!我的谷歌搜索几乎没有任何结果。 –