class of XXX 是什么意思?作用?
比如
TABC = classend;TABCS = class of TABC;
TABC = classend;TClassofTABC = class of TABC;T1 = class(TABC)end;T2 = class(TABC)end;function CreateTABCS(tmp: TClassofTABC):TABC;begin result:= tmp.Create;end;当不确定建的是T1还是T2时,tmp.Create都能建出来
[解决办法]
类的引用
如果你的类是从TPersistent继承下来的 并且调用了下面的语句
RegisterClass(TTestDialog);
就可以用下面的办法 通过字符串创建对象
var
BaseDialogCalss:TBaseDialogCalss;
BaseDialogCalss:=TBaseDialogCalss(GetClass(Trim('TTestDialog')));
if BaseDialogCalss <> nil then
begin
try
aForm:=BaseDialogCalss.Create(nil);
except
end;
end;