我正在 Delphi XE3 中使用 RTTI 做一些工作,到目前为止,这导致调用如下过程:
procedure MyProc( ARecordInstance : pointer; ARecordType : PTypeInfo );
我称这个例程如下:
MyProc( @MyRec TypeInfo( TMyRec ));
这一切都很好。
我突然想到,我也许可以将我的程序简化为:
procedure MyProc( var ARecord ); or procedure MyProc( ARecord : pointer );
..如果我可以在我的程序中从 ARecord 获取类型信息。但是,使用诸如“ARecord”之类的“实例”时,TypeInfo 会给出“期望类型标识符”错误,这是公平的。有什么方法可以将单个指针引用传递给我的记录,然后从中提取类型?
谢谢