调用一个Frm在Frm中选择一个值A后关闭frm,请问如何传递这个值A到当前frm中?(不想定义一个全局变量)(50分)

  • 主题发起人 主题发起人 delnew
  • 开始时间 开始时间
D

delnew

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢。。
 
在关闭frm上,结束前ModalResult := A。只能返回整型的数值。
Result := 关闭frm.ShowModal;
 
什么类型的值?
如果是整数,可以试试消息,其它类型的恐怕不太好办,或者用文本文件,不知道楼主愿意不愿意用?
 
字符数组,看来我只好定义一个全局变量了
 
不知这样可否?
//frmA
type
TfrmA=class(TForm)
 ...
 private
  tmpS:string;
end;
function ShowfrmA(var s:string):TModalResult;

implementation
function ShowfrmA(var s:string):TModalResult;
var
 frm:TfrmA;
begin
 frm:=TfrmA.create(nil);
 try
  frm.tmpS:=s;
  result:=frm.ShowModal;//在TfrmA中更改tmpS
  s:=tmpS;
 finally
  frm.free;
 end;
end;

//frmB
procedure TForm1.Button1Click(Sender: TObject);
var
 s:string;
begin
 if ShowfrmA(s)=mrOK then
  edit1.text:=s;
end;
 
多人接受答案了。
 
后退
顶部