【发布时间】:2015-01-06 02:48:16
【问题描述】:
我发现 TVirtualMethodInterceptor.Create 不支持具有重载虚方法的类。 举例
type
TLog = class
public
constructor Create();
procedure SaveLog(str: string); overload; virtual;
procedure SaveLog(str: string; Args: array of const); overload; virtual;
end;
constructor TLog.Create(str: string);
begin
end;
procedure TLog.SaveLog(str: string);
begin
end;
procedure TLog.SaveLog(str: string; Args: array of const);
begin
end;
procedure MyTest();
var
ttt: TLog;
vmi: TVirtualMethodInterceptor;
begin
ttt:=TLog.Create();
try
vmi:=TVirtualMethodInterceptor.Create(ttt.ClassType);
try
//
finally
vmi.Free();
end;
finally
ttt.Free();
end;
end;
在执行 TVirtualMethodInterceptor.Create() 时,会引发异常“RTTI 不足,无法支持此操作”。 有人可以帮帮我吗?
【问题讨论】:
标签: delphi delphi-xe3 rtti