Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
4. Feb 2003
Das liegt daran, dass du eine Methode aufrufst und keine Prozedur/Funktion. Bei einer Methode gibt es noch einen weiteren, versteckten, Parameter.
procedure GetMethod(var Method; Instance: TObject; const MethodName: string);
begin
TMethod(Method).Code := Instance.MethodAddress(MethodName);
TMethod(Method).Data := Instance;
end;
function TForm1.TestProc(Count: Byte): Integer;
begin
Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
4. Feb 2003
Die Klassenmethode MethodAddress funktioniert nur mit Methoden, die unter published deklariert sind. Für FieldAddress gilt entsprechendes.