Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: Was ist eine Callback Funktion

  Alt 29. Mär 2006, 23:22
Jo is schon so fast richtig.

Bei APIs hast du eigentlich nur einen Pointer, d.h. es sieht in etwa so aus:

Delphi-Quellcode:

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

procedure DoSomething(cb: Pointer); stdcall; //das wäre die API
var
  i: Integer;
  CallBack: function(i: Integer): Boolean; stdcall;
begin
  if Assigned(cb) then
  begin
    @CallBack := cb;
    for i := 0 to 9 do
      CallBack(i);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DoSomething(@CallBack); // aufruf der API mit der callback funtion als pointer
end;
  Mit Zitat antworten Zitat