Form2是在程序运行过程中创建的(Application.CreateForm(TForm2,Form2);
可是用Form2.Destroy只能析构一次
当我在用(Application.CreateForm(TForm2,Form2;)创建Form2的时候就析构出错了
真是晕阿
大家帮帮我了谢了先
可是用Form2.Destroy只能析构一次
当我在用(Application.CreateForm(TForm2,Form2;)创建Form2的时候就析构出错了
真是晕阿
大家帮帮我了谢了先
解决方案 »
- 用indy的server控件绑定 ip、端口 为什么只有一个有效
- 请问各位如何做一个键盘连发程序呢?比如按住X就是连续快速的按X效果
- SOCKET编程:Read error 64
- 如何锁住所有程序不要用户操作
- 我正在设计一个平台式的系统,请问设计日志的时候,有什么注意的地方吗?
- Excel表格转换成图片问题
- 在delphi怎么找不到象application.messagebox里头用的一些常数的说明
- 源码空间www.playicq.com好像倒闭了,真可惜呀!
- ADOQuery和DbGrid中记录删除的的问题
- combobox 列表向上显示,有办法吗?
- 像msg.cmdType的值,在哪有找到,帮助我没找到(E文也差了点)?顺便问一下任务栏图标上单击cmdType的值应该是多少?
- 关于PIN的问题
用时再析构
在你的工程文件中把
Application.CreateForm(TForm1, Form1);
去掉,
第二,在需要动态创建窗口的地方加入以下代码
var
Form1:TForm1;
begin
if Form1=nil then
begin
try
Form1:=TForm1.create(nil);
Form1.showmodal;
finally
Form1.free;
end;
end;end;而你现在的程序我想设计时已经有窗体了,只是程序动行时动态加载,所以应该这样:
if not Assigned(Form2) then
Form2:=TForm2.Create(Application);
Form2.Show
if not Assigned(Form2) then
必须在form2的formclose或formdestroy事件里把form2这个变量置为nil
form2:=nil;