Einzelnen Beitrag anzeigen

Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Was ist eine Callback Funktion

  Alt 29. Mär 2006, 23:06
Zitat von Luckie:
Also ich kenne sie und benutze sie auch zum Beispiel bei EnumWindows. Aber wie funktioniert eine Callback Funktion eigentlioch genau. Ich habe da mal was geschrieben:
Delphi-Quellcode:
type
  TCallBack = function(i: Integer): Boolean; stdcall;

function CallBack(i: Integer): Boolean; stdcall;
begin
  ShowMessage(IntToStr(i));
end;

procedure DoSomething(cb: TCallBack);
var
  i: Integer;
begin
  if Assigned(cb) then
  begin
    for i := 0 to 9 do
      CallBack(i);// <<---- sniper_w : FEHLER , kein Callback
      // cb(i); <<<---sniper_w: so ist richtig
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DoSomething(CallBack);// <<-- sniper_w: FEHLER
  DoSomething(@CallBack);// <<-- sniper_w: richtig, weil TCallback erwartet wird und das ist ein Funktions-POINTER
end;
Wäre das eine Callback Funktion oder habe ich da was falsch verstanden und wenn ja, wie geht es richtig?
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat