我现在有一个主窗口FrmMain,还有一个窗口Form2
现在的问题是FrmMain上面有一个按钮,当我单击按钮的时候,显示出Form2,但是必须显示出Form2后立刻释放FrmMain,怎么写这段代码啊?
现在的问题是FrmMain上面有一个按钮,当我单击按钮的时候,显示出Form2,但是必须显示出Form2后立刻释放FrmMain,怎么写这段代码啊?
解决方案 »
- 急.TServerSocket的onClientRead为什么会执行两次呢
- 如何借用Delphi的编译器来生成Exe文件?
- dll封装多个子窗体时,其中uses了父窗体和datamodule从而无法编译成dll文件,该怎么办呢?
- 求教个Hook Api 的卸载问题。。。。急。。
- 修改数据库数据的错误问题,急急急,请指教
- 急需Tppdesigner控件,請提供下載地址!非常感謝!在線等待!!!
- 求救!我需要得到变量名中的内容的内容,也就是变量名的内容也是一个变量
- 邮件拦截
- hInst和SETTIMER(),2个问题80分(各40)
- 谁想要D版delphi6?
- 项目文件从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吧,这样一来给用户的感觉是完全一样的。嘿嘿,但是程序结构上有点恶心。