Tactiveform与Tform的通讯(50分)

  • 主题发起人 主题发起人 rolland
  • 开始时间 开始时间
R

rolland

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个form:
form1: Tform1= class(TActiveForm, Iform1)
form2: Tform2= class(TForm) var form2:Tform2;
对form2中的对象,当然在form1中可以这样引用: form2.edit1...
问题是在form2中,应该如何引用form1中的对象? 不要想当然喽!
 
对activeform,不可以简单地使用use form1和form1.xxx的引用方式,just try
 
那应该如何引用,难道activeform只能包含一个form??
急切关注!!!!!!!!!!!
 
我想可以来个回调式访问,由Form1将对象传给Form2,在由form2来访问。只是猜想。 :P
 
使用Uses, 当需要显示form2的时候要用即时Create
 
activex form 于 form 是差不多的。
你可以:
1:在 activex form 上放一个 button1 ,点击后 打开 Form2
2:所有的程序往 Form2 写,把 Form2 看成 主 Form ,然后 哈哈与普通的 delphi
编程一样了!你要放啥控件就放啥!ole, dll, api 都可以。
我就是这样干的,。。。


显示form2的方法:
在form1 的 unit 中写入如下代码:

implementation
uses
procedure Show_F_Form2();
begin
F_Form2 := TF_Form2.Create(nil);
try
F_Form2.ShowModal;
finally
F_Form2.Free;
end;
end;
点击button1 后 ,调用Show_F_form2

 
兄弟们:
某些同志似乎误会了,我要强调的是如何在FORM2上去直接应用FORM1(ACTIVEFORM)上
的对象,如登录信息等。当然可以在FORM1的PAS中把这些信息传递给FORM2,然后把FORM2
作为主FORM来实现,也很简单。然而,这不是本问题的初衷!
 
直接在form2中引用ActiveForm1不久可以了吗,最好在ActiveForm1的Create方法中
加入如下信息:
Application.CreateForm(Tform1,form1);
 
rolland:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
接受答案了.
 
后退
顶部