最简单的问题.(20分)

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

delphi_newer

Unregistered / Unconfirmed
GUEST, unregistred user!
FORMB 是在FORMA 的一个button click之后showmodal.
那么怎么样才能使FORMB能够读取FORMA中的一个edit的内容呐?
 
uses unitforma;
formb中forma.edit.text
 
同意!可来迟了
 
在ShowModal之前加
...=Edit1.text;
或FormB uses FormA
然后在FormB的OnCreate事件中直接读取
FormA.Edit1.text;
 
我也是这样子写的阿.但是有错误阿.
method identifier expected.
 
可以在一个FormA的Interface中uses另一个FormB,在FormB的implementation中uses FormA
但这种方式不推荐。可以将Edit做为参数传递给FormB。
 
怎么样子作为参数传递给formb?
 
如果你仅仅是要在FormB中使用Edit的值,那就通过一个String类型参数传递就可以了
如果你要在FormB中改变edit的值,那就把Edit 作为对象传递给FormB
 
举个例子吧.
譬如forma一个button.一个edit.buttonclick事件对应的函数体就是
formb:=tformb.create(self);
formb.showmodal;
formb.free;
怎么样子才能通过参数传递使得formb能够得到这个值?
 
将FormA的Edit.Text做为参数。
procedure DoFormB(aStr:string);
var FormB:TFormB;
begin
FormB:=TFormB.Create(nil);
try
FormB.ShowModal;
//可以利用aStr值
finally
FormB.Free;
end;
end;

 
formb:=tformb.create(self);
//........................
forb.edit1.text:=self.edit1.text;
formb.showmodal;
formb.free;
 
多人接受答案了。
 
后退
顶部