假设这个窗体为Form1: TForm1在Close的事件写上Form1:=nil;其它需要调用本窗体的地方用if Form1=nil 即可
解决方案 »
- delphi窗体 问题
- 关于文件夹操作的问题。
- 如何删除treeview中重复的子节.
- 自动登陆网站时,怎么样处理校验码啊?? 请大家帮帮忙啊!! 在线等待!!!!!~~~~~~~~~
- 怎么用Delphi实现跨服务器转移数据?
- 我想做一个类似OICQ界面的程序
- 急求"水晶报表6.0或7.0"for C++Builder ,将酬谢
- ***挑战Delphi高手,Delphi编译的Dll在Vb中可以调用,在Delphi不能调用***
- 如何将一个picture插入到SQL的'insert into …………'中
- 急:谁Delphi6下的压缩控件,delphi5的不能用了
- 十万火急:在corba三层模式下,如何从客户端更新Oracle 中的long raw数据类型??
- 金山词霸的屏幕取词功能是怎么实现的
tempForm:=TFormxxx.Create(nil);
with tempForm do
begin
//do somthing...
end;
finally
tempForm.Free;
tempForm:=nil;
end;
只说一种简单的,
如果每个窗口的标题不同的话,
你可以用api函数windows.foundwindow('类名','窗口标题')
如果返回的值大于0,则窗口已经存在了!
eg:
if Windows.FindWindow('TForm1','Form1')>0 then
begin
showmessage('已存在');
end
else
begin
...........
end;
end;
begin
ShowMessage('form1已经存在了。');
end;
Form1.Free; //// Free会自动检查是否为空。
Form1.Create(Application);
为什么窗体被free之后,其值不为nil,如果我直接给其赋值nil,是否会引起内存泄漏?
如果创建参数为Application则不用Free(最好用此办法,在Application释放时自动释放资源),若参数为Nil,则要Free(后果你知道了).