OOP 如何访问其它窗体的内容..? ( 积分: 40 )

  • 主题发起人 主题发起人 天使鬼差
  • 开始时间 开始时间

天使鬼差

Unregistered / Unconfirmed
GUEST, unregistred user!
TForm1调用Tform2,Tform2如何能访问Tform1的内容呢。。?
如果不局限于变量的方式(如Fomr1),该如何才能访问呢。。?
 
TForm1调用Tform2,Tform2如何能访问Tform1的内容呢。。?
如果不局限于变量的方式(如Fomr1),该如何才能访问呢。。?
 
不能用uses吗?引用单元就行了
 
94,用uses就可以了。来回引用
 
互相UESE就可以了,但是需要注意个问题

不能在Interface块互相引用,至少要一个引用是在实现区,你可以把interface区块理解成C里面的h文件,在这里互相引用就会造成混乱。

所以你可以在Unit1里面的

implementation
uses unit2;


而在对应的Unit2中也是同样

implementation
uses unit1;

这样你就可以两个单元互访了
 
学习楼上。
 
不要互相访问,用委托
 
to xf-wangyi:
说来听听,因为TFomr1一定会调用TForm2,我的做法是在TForm2定义一个SourceFrm:TForm1类型的,TForm1调用时把自己传给TForm2的SourceFrm,TForm2就可以访问到TForm1。
不知道你有什么好建议。。?
 
TForm1调用Tform2
可以认为Tform2是服务,TForm1是客户,正常情况,服务不应该知道客户的存在
1.如果TForm1中有部分资源需要由Tform2访问,我们可以认为它不属于TForm1的资源
把它分离到另外一个单元对象中
2.他们确实有交互的必要,想象一下VCL中的事件,你该理解怎样做了
如果VCL没有事件,是不是很惨:你要没完没了地修改vcl,让它uses你的单元
 
用最菜的方法:按ALT + F11。
 
建立一个中间对象,使用form2使用中间对象对form1进行访问。
 
问题有答案了。。
 
后退
顶部