Zumindest parameterlose published-Proceduren kann man so aufrufen:
Delphi-Quellcode:
procedure Call(AObject: TObject; const Methodname: string);
type
TProc = procedure of object;
var
Method: TMethod;
Proc: TProc;
begin
Method.Data := AObject;
Method.Code := AObject.MethodAddress(Methodname);
if Assigned(Method.Code) then
begin
Proc := TProc(Method);
Proc;
end;
end;
Leider weiß ich nicht, seit welcher Delphi-Version es TMethod gibt, in Delphi 2007 ist sie jedenfalls bereits vorhanden.