Wie kann ich dann einen Pointer auf eine Methode bekommen?
Delphi-Quellcode:
var
Routine: TMethod;
Exec: TExec;
begin
Routine.Data := Pointer(OnObject) ;
Routine.Code := OnObject.MethodAddress(MethodName) ;
if NOT Assigned(Routine.Code) then Exit;
Exec := TExec(Routine) ;
Exec;
end;
Diesen Code habe ich dazu gefunden gehabt, nur liefert mir die Methode
MethodAddress leider immer nil zurück, auch wenn das Objekt schon instanziiert ist und eben eine besagte Methode vorhanden ist.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)