if Form2=nil then
begin
Form2:= TForm2.create();
Form2.show;
Form2.free;
end;
这我样显示窗体,可是,只能在第一次运行时执行,等到把Form关了以后,就不能再打开了,这是为什么呀.大家帮我看看下.多谢了.
begin
Form2:= TForm2.create();
Form2.show;
Form2.free;
end;
这我样显示窗体,可是,只能在第一次运行时执行,等到把Form关了以后,就不能再打开了,这是为什么呀.大家帮我看看下.多谢了.
解决方案 »
- 用fastreport打印dbgrideh中用户挑选的记录,如何设置数据源?
- 关于更新Access语句的奇怪错误,提示是语法错误
- 调用文件拷贝函数,用变量代替参数时出错问题。。
- 对文本处理时的问题,各位高手请看!
- 如何在DELPHI的FORM窗口下运行程序时调用F1事件(帮助)
- 为什么这样备份不可以啊?在线等待!
- 三个小问题,请各位指点一下!!!!
- 求 InstallShield 8
- 三层结构问题请教????????????????
- 关于memo文本框的自动缓慢循环滚动文本的问题?? 有谁来给我指点一下迷津.
- 100分求一个简单问题。关于ADODataSet。帮顶者有分。不论有没有结果,两周内结贴。
- 在IP3000中如何通过程序来控制当字段类型为ftBoolean 时,就使wwDBGrid显示为checkbox
Form2:= TForm2.create(Form1);
Form2.show;
Form2.free;
就可以了,把if Form2=nil then 去掉
因为在你执行过一次之后,Form2就不会=nil,所以不会执行if 之后的语句了
if not Assigned(Form2) then
Form2 := TForm2.Create(Self);
Form2.Show;
end;在Form2的OnDestory事件写:
Form2 := nil;
begin
Form2:= TForm2.create();
Form2.show;
Form2.free;
end;明显不正确嘛,form2<>nil,那你不就没显示了吗?同意楼上,将 if Form2=nil then 删除即可。