Einzelnen Beitrag anzeigen

Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

Methodpointer - wie funktioniert's?

  Alt 3. Feb 2007, 14:00
Hi @ll,

folgender Code:
Delphi-Quellcode:
type
  test =class
    function tut(arg:string):Boolean;
  end;

implementation

function test.tut(arg:string):Boolean;
begin
  result :=true;
end;

function NichtMethode(arg:string):Boolean;
begin
  result :=true;
end;

function doStuff()
var p:pointer;
    t:test;
begin
  t :=test.Create;
  p :=@test.tut; //Compilerfehler: Variable required
  p :=@NichtMethode; //funktioniert.
end;
Wenn ich bei dieser Konstruktion doStuff aufrufe, klappt das nicht ganz so, wie ich mir das vorstelle...
Wieso? Wie macht man's richtig?

EDIT:
p :=test.tut (Also Zugriff als static) funktioniert...
Für meinen Fall reicht das sogar... Aber in anderen Fällen...? Wie macht man es, wenn man self haben will?

EDIT2:
Nein... funktioniert doch nicht...
Denn wenn ich den Pointer wieder zu meiner Funktion caste und dann verushc edie Funktion aufzurufen, bekomme ich einen Compilererror:
F2084 Internal Error: C4905
Das ist natürlich sehr informativ *stöhn*
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat