我在拉撒路有两种形式。一个是frmMain,另一个是frmSub1。两个都有一个文本框。
以下代码有效。即,点击frmMain上的按钮时,值
procedure TfrmMain.cmdShowClick(Sender: TObject);
begin
frmSub1.Show ;
frmSub1.txtAns.text := txtMark.Text;
end;
但是当我用 .ShowModal 替换 .Show 时,它会显示表单,但 frmSub1.txtAns 为空。
知道为什么会这样吗?
答案 0 :(得分:2)
这是因为ShowModal
阻止调用,即行frmSub1.txtAns.text := txtMark.Text;
在返回之前不会执行。您必须切换语句的顺序,以下应该按预期工作:
procedure TfrmMain.cmdShowClick(Sender: TObject);
begin
frmSub1.txtAns.text := txtMark.Text;
frmSub1.ShowModal;
end;