怎么关闭窗口(50分)

  • 主题发起人 主题发起人 kino25
  • 开始时间 开始时间
K

kino25

Unregistered / Unconfirmed
GUEST, unregistred user!
我用这种方法创建窗口
FormMoperator:=TFormMoperator.Create(Application);
但用close,free关闭窗口都不行,不知何故?
 
在Application里创建的窗体不可能被FREE掉,如果用CLOSE整个程序就关闭了
 
FormMoperator:=TFormMoperator.Create(Application);
FormMoperator.showModal;
FormMoperator.free;
FormMoperator := nil;
如果是show,在FormMoperator中写free即可
 
第一次行
第二次就不行了 出现错误:Access violation at address....
是不是ADO连接出错
 

FormMoperator是全局变量?
你一次开几个窗口,然后用close其中一个?
指针指向的地址有问题,如果要开多个窗口,可以将FormMoperator保存到一个TList中。
 
我用CLOSE来关闭当前窗口时出错。
 
在窗体的CLOSE事件里加
ACTION:=CAFREE试试
 
能帖点代码看看吗?创建与关闭部份。
 
主窗体
procedure TMainForm.A15Execute(Sender: TObject);
begin
FormMoperator:=TFormMoperator.Create(Application);
end;
子窗体
procedure TFormSetFirst.BitcloseClick(Sender: TObject);
begin
free;
//close;
end;
 
不能用free,应该用close。
你代码中没有show或showmodal方法,窗口能显示?
 
close 事件加
action:=cafree;
destroy事件加
FormMoperator;=nil;
其他窗口调用关闭:
freeandnil(FormMoperator);
 
在窗体的CLOSE事件里加
action:=cafree;
 
谢谢
我在destroy事件中加了代码
我放在ONCLOSE中就没问题了
散分
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
875
DelphiTeacher的专栏
D
后退
顶部