子窗口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的函数,而不需要知道父窗口的函数名字。 这一招我常用。
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的函数,而不需要知道父窗口的函数名字。
这一招我常用。