我现在有一个主窗口FrmMain,还有一个窗口Form2
现在的问题是FrmMain上面有一个按钮,当我单击按钮的时候,显示出Form2,但是必须显示出Form2后立刻释放FrmMain,怎么写这段代码啊?
现在的问题是FrmMain上面有一个按钮,当我单击按钮的时候,显示出Form2,但是必须显示出Form2后立刻释放FrmMain,怎么写这段代码啊?
解决方案 »
- 利用Delphi做外挂程序!!
- 字符串索引为何从1开始的?
- 让程序最小化时看不到程序,然后用快捷方式调出来这个要怎么做呢?
- 如何在WebBrowser1控件直接显示memo1里面的代码
- 郁闷死,好久不用DELPHI,问个最简单的问题。
- treeview的简单问题
- ADODataSet的CommandText字符串中的引号问题(在线等待)
- 怎么配置三层结构中的Dcom和Socket服务器,为什么我的老是出现Stack Overflow,不支持此接口的错误呢?
- 怎样在dbgrid或者stringgrid中,给选中的几行行数据加以标识?
- 有关多线程TADOQuery问题
- 项目文件从Delphi5升级到Delphi6时的问题
- 菜鸟问题
begin
Form2.Show();
Self.Free;
end;给分!
form2.show;
form1.close;(form1.free)
而每个工程至少要有一个main窗体,
/project/options/forms下设置
如果主窗体被close or free则程序中止所以我觉得可以设置frmmain为非main窗体
form2.show;
form1.close;(form1.free)
这样不行的~很明显,因为FORM1.FREE的话程序就终结了~
我一般这样用
form2.show;
self.hide;
现在的问题主要是Form1占用了很大的内存资源和GDI资源,我显示出Form2的时候就必须把Form1给释放掉,而不是隐藏,否则内存占用会占用14MB以上,如果去掉Form1,Form2只是占用了8MB左右
楼主你是说关闭第二个 Form 后应用程序不关闭吧,以楼主的智慧应该不是什么问题吧,
Form2 的 OnClose 事件中 + 一句 Application.Terminate.如果楼主是想动态创建第二个 Form:
procedure TForm1.Button4Click(Sender: TObject);
begin
Form2:=TForm2.Create(nil);
Form2.Show;
Self.Free;
end;
//同样要在 Form2 的 OnClose 事件中写上 Application.Terminate;
//***注代码绝对测试过***
做一个傀儡主窗口体,也就是说把 FormMain 给替成其它的窗口,启动应用程序的时候创健它,但不显示它,用它来控制你现在的主窗体的显示,这样一来你现在的主窗口就和其它的 Form 没有什么两样,
应该OK吧,这样一来给用户的感觉是完全一样的。嘿嘿,但是程序结构上有点恶心。