我做MDI程序,把子窗體打開了,但關閉的時候只能將子窗體最小化,不能關閉

beris 2003-10-18 09:40:59
如題
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
beris 2003-10-18
  • 打赏
  • 举报
回复
謝謝了,搞定了
dickeybird888 2003-10-18
  • 打赏
  • 举报
回复
在主窗体上写以下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(Form2) then//判断是否存在Form2的实例
begin
try
Application.CreateForm(TForm2, Form2);
Form2.Show;
except
// ……
end;
end;
end;

在子窗体上写以下代码:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
Form2 := nil;//此句不可少
end;
beris 2003-10-18
  • 打赏
  • 举报
回复
在onclose裡面加了,可以關閉,但如果主窗題不退出,再次打開該子窗體,就報錯了.
在onclose裡面加frm_login.free也可以關閉,但都出現上述問題
beris 2003-10-18
  • 打赏
  • 举报
回复
怎麼解決這個問題
sailer_shi 2003-10-18
  • 打赏
  • 举报
回复
在onClose中加入Action := caFree;

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧