Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
Delphi 6 Enterprise
|
Re: Was ist eine Callback Funktion
30. Mär 2006, 00: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.
|