【发布时间】:2012-12-13 03:52:34
【问题描述】:
我的 Delphi 代码中有大量日志记录,它经常使用 Self.ClassName 来记录包含当前执行代码的类的名称。
我现在正在将其中的一些代码编译成 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 中编译时,但在 VS 2010 输出中的 Delphi Prism 中编译时
TObjectExtender: A log message
不管包含运行代码的实际类。
谁能建议一种在 Delphi Prism 中获取实际类名的方法?
【问题讨论】:
标签: delphi-prism oxygene delphi-prism-2010