请问两个窗口之间的访问?(20分)

  • 主题发起人 主题发起人 gyang
  • 开始时间 开始时间
G

gyang

Unregistered / Unconfirmed
GUEST, unregistred user!
有以下3个窗口Form1,Form2,Form3。
Form1为主窗口,程序运行时自动创建。
在Form1中是打开Form2的
with TForm2.Create(Self) do
begin
ShowModal;
Free;
end;
之后又在Form2中打开Form3(和打开Form2的方法一样)
请问:
怎样才能在Form3中修改Form2中控件(如:Edit1.Text中的值)和变量等?
 
在form3引用form2单元
form2.edit1.text := 'aaa'
 
这样打开Form的方式好象不能mlzhou的方法,以前用时好象要出错
 
with TForm2.Create(Self) do
begin
//这2个部分才能访问Form2上的控件
ShowModal;
//这2个部分才能访问Form2上的控件
Free;
end;
 
我想问的是Form3是如何访问Form2的??????????????
 
第一步,在Form2单元的uses部分引用form3所在的单元;
第二步,在Form3单元的implementation部分引用form2所在的单元;
然后就可以用form2.edit.text:='astring'来访问了。而且不会报错哦:)
 
form3给form2发一条自定义的消息
form2处理这条消息应该可以


---------------
http://coolbaby.delphibbs.com
 
在Form1中建几个变量,修改变量值
 
关键问题在于没有为TForm2的实例命名,有两个解决方法
1. 为TForm2的实例命名
Form2 := TForm2.Create(Self);
with Form2 do
begin
ShowModal;
Free;
end;
然后在Form3中用变量Form2访问

2. 用Owner属性
(Owner as TForm2) .Edit1.Text

无论哪种方法都需要在Form3单元中引用Form2单元.
 
接受答案了.
 
只要把两个单元连接起来就可以了!如果有变量要相互调用,则把变量写入全程变量即可!
 
后退
顶部