ActiveForm窗体问题

hansonboy 2003-01-02 05:46:20
在ActiveForm窗体中怎样打开或显示另一个窗体?
...全文
12 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pingshx 2003-01-06
没有任何区别
!只要引用另一个窗体的文件,用show、或showmodal都可以直接显示另一个窗体,难办的是如何在别的程序中控制activeform中的控件!
回复
chinasg 2003-01-06
这和其他的程序一样,先Use你要打开窗体的Unit,在调用的地方:
1.
begin
if Not Assigned(FormAA) then
FormAA:=TFormAA.Create(Self);
FormAA.ShowModal;
end;
2.
记得在FormAA的Close里面填写
Action:=caFree

3.
在FormAA的Destory里面填写
FormAA:=Nil;

4.如果再不行,呜呜呜~你说怎么办?跳楼、割腕?还是.............
回复
hansonboy 2003-01-05
o
回复
hansonboy 2003-01-04
.
回复
warton 2003-01-03
up
回复
hansonboy 2003-01-03
建立窗体时就显示这个错误:
Access violation at address 06ED3D68in module 'myActionProj1.ocx',Read of address 00000000
回复
hansonboy 2003-01-03
是普通窗体,我一建立这个窗体时就出错
回复
renzhm 2003-01-03
写出你的代码看看!

“另一个窗体”是普通窗体还是MDI?

我用:
try
if not Assigned(LoginFrm) then
begin
LoginFrm:=TLoginFrm.create(self);
end;
LoginFrm.showmodal;
finally
LoginFrm.Free;
LoginFrm:=nil;
end;
没问题!
回复
hansonboy 2003-01-03
好像还是不行,还是出错
回复
zhboy 2003-01-02
再ocx的工程文件中在初始化的时候把要显示的窗体 create,然后 在后面在程序中退出时free掉。
如下:
initialization
TActiveFormFactory.Create(
ComServer,
TActiveFormControl,
Tocxtest,
Class_ocxtest,
1,
'',
OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL,
tmApartment);

form1.Create( nil );
finally
form1.free;

end.
回复
hansonboy 2003-01-02
试过了,好像还是不行,是不是我做错阿,可以详细点吗?
回复
hansonboy 2003-01-02
不引进去那怎样Uses这个单元呢?
回复
shxhark 2003-01-02
没有任何区别,直接创建(CREATE)、并显示(ShowModal)即可。
不过记得在编译时,只能Uses 所要显示的单元文件,如:
Uses U_SecondForm;
而不能直接将该单位文件引入进去,否则在IE上将会出错的。
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1566

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告