本帖最后由 luojianfeng 于 2013-12-06 14:11:57 编辑

解决方案 »

  1.   

    子窗口unit申明:
    type
      TReturnProc = procedure of obejct;子窗口定义添加:
    TFormSelectKcsp = class
      ReturnProc:TReturnProc;
    end;父窗口实例化子窗口:
    FormSelectKcsp := TFormSelectKcsp.Create;
    FormSelectKcsp.ReturnProc := Self.tj;
    FormSelectKcsp.ShowModal;
    FormSelectKcsp.Free;子窗口在结束自身使命的事件上调用回调函数
    procedure TFormSelectKcsp.OnButton1Click;
    begin
      if Assigned(ReturnProc) then
        ReturnProc;
    end;如此一来,子窗口按下Button1就会回调父窗口赋值给ReturnProc的函数,而不需要知道父窗口的函数名字。
    这一招我常用。