呵呵,我有个办法,但是没有试验过。
做一个记录体,用来保存edit1,edit2的字符变量的指针,然后在用
ModalResult返回那个纪录体的指针,如果ModalResult=0则表示Form2上点击了取消,不为0就不是取消,然后在根据ModalResult的值变成指针,最后在打开那个记录体,最后就可以访问edit1和edit2的text了,不过这里别忘了要重新为这两个edit的text分配一块pchar的内存用来保存text,和分配内存来保存结构体。然后再form1中得到了记录体之后在销毁已分配的内存
做一个记录体,用来保存edit1,edit2的字符变量的指针,然后在用
ModalResult返回那个纪录体的指针,如果ModalResult=0则表示Form2上点击了取消,不为0就不是取消,然后在根据ModalResult的值变成指针,最后在打开那个记录体,最后就可以访问edit1和edit2的text了,不过这里别忘了要重新为这两个edit的text分配一块pchar的内存用来保存text,和分配内存来保存结构体。然后再form1中得到了记录体之后在销毁已分配的内存
Uses
form1;
...
s1:=Edit1.text;
s2=Edit2.text;
...更好的方法;
将s1,s2声明为TForm1的数据成员,添加两个属性完成读写,
在TForm2中调用
form2:=Tform2.create(application);
if form2.showmodal=mrOK then
begin
s1:=Form2.Edit1.Text;
s2:=Form2.Edit2.Text;
ShowMessage('Shit!');
end;
try
if form2.showmodal = mrok then
begin
s1 := edit1.Text;
s2 := edit2.Text;
end;
finally
form2.Free;
end;
这样写你的form2得定义返回值