Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

Re: Was macht der Typecast Pointer()?

  Alt 1. Jan 2010, 18:41
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)
  Mit Zitat antworten Zitat