本帖最后由 u014653768 于 2014-07-17 09:13:59 编辑

解决方案 »

  1.   

    回调函数的用法如下,如果函数是类成员,用callback2,否则用callback1:
    callback1 = procedure (id:integer);
    callback2 = procedure (id:integer) of object;procedure TForm1.sendinfo(id:integer;cb: callback2);
    begin
        cb(id);
    end;procedure TForm1.setclass(id:integer);
    begin
        ShowMessage(IntToStr(id));
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
        sendinfo(1, setclass);
    end;
      

  2.   


    好像都没用到 processinfo过程?
      

  3.   

    事件也是回调函数的一种经常用的关闭事件
    TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction) of object;
    FOnClose: TCloseEvent;
    property OnClose: TCloseEvent read FOnClose write FOnClose stored IsForm;procedure TCustomForm.DoClose(var Action: TCloseAction);
    begin
      if Assigned(FOnClose) then FOnClose(Self, Action);
    end;
    这就回调到用户自己实现的退出处理过程中。