delphi 如何获取返回值?
A,B 2个主页面都要调用一个子页面ttt, ttt页面有个确定按钮, 点确定以后把结果一个对象属性值回写给A页面(现在我是直接回写页面A的).
可现在B页面也调用子页面ttt,可ttt里点确定按钮后,怎么把结果对象 回传给B呢, 同样怎么回传给A呢?
A和B都无法捕获 ttt的确定按钮事情呀?
A主页面代码:
checkRepeatForm:=TcheckRepeatForm.Create(self);
checkRepeatForm.FormStyle := fsMDIChild;
checkRepeatForm.setParam(issueBookList);
checkRepeatForm.Show;
ttt子页面代码:
procedure TmainBookForm.isRepeatTntButtonClick(Sender: TObject);
OriginalOrderForm.editBookName.Text:= mainBiblioTab.Title;
OriginalOrderForm.edtAuthor.Text:= mainBiblioTab.Authors;
[解决办法]
不要再ttt页面访问AB页面
动态创建如下
var frm: TForm1;begin frm := TForm1.Create(Self); try frm.ShowModal; if frm.ModalResult = mrOK then begin frm.变量。。。。。//这样访问 end; finally FreeAndNil(frm); end;end;
[解决办法]
写一个方法,用这个方法返回,绝大多数控件的做法都是写一个类方法,下面代码你参考一下:
class function ShowForm(): TT;class function TForm1.ShowForm(): TT;var Form1: TForm1;begin Form1 := TForm1.Create(Application); try if Form1.ShowModal = mrOK then Result := Form1. //你的变量 finally Form1.Free; end;end;