尝试着释放资源的问题 1.Application.Terminate;2.Application.halt; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你不能在这个事件中调用From1.free;只能用Application.Terminate;或Application.halt; 呵呵,Application.Terminate;只是调用了PostQuitMessage(0)而矣,当程序处理到此消息时,程序才会结束,所以,调用后可能不会立即结束!要释放自己分配全局性的资源可以在OnDestroy或OnClose中做.不是自己分配的空间你就不要释放它,否则多半会出错的,比如 // Form1.Free; // 这样不可以!因为Form1是主窗体,不是你手工建的,也不会你释放,系统会自动释放它的. // Application.Free;// 这样更不行!Application也不是你创建的,你也不要释放它!否则会出错的!另外,不要在窗体内引用它的实例变量名,如:在TForm1的事件用引用Form1变量,这是不好的习惯,如果别人不这样:Form1 := TForm1.Create(.... 而是aForm := TForm2.Create(......)那你的程序就会出错了!!你可以能过Self变量来引用窗体本身,如Self.Caption := 'asdfasd',而不要用 Form1.Caption := 'asdfasfd'; 100分:主-从报表如何做? 求DELPHI下载地址 请指点DBgridcellclick的用法,在线,马上给分 goomoo 进来!!! TNFFTP的为什么不能用FTPDirectoryList属性取得当前目录的文列表 如何用sql语句查询满足条件的月份? 如何不区分大小写比较两个字符串? 如何为程序传递外部参数 坐标转换? 请问各位,在DELPHI开发中一般用到DELPHI中的哪些技技术??? 我的水平只够提问!!! mscomm的问题
只能用Application.Terminate;
或Application.halt;
要释放自己分配全局性的资源可以在OnDestroy或OnClose中做.不是自己分配的空间你就不要释放它,否则多半会出错的,比如 // Form1.Free; // 这样不可以!因为Form1是主窗体,不是你手工建的,也不会你释放,系统会自动释放它的.
// Application.Free;// 这样更不行!Application也不是你创建的,你也不要释放它!否则会出错的!另外,不要在窗体内引用它的实例变量名,如:
在TForm1的事件用引用Form1变量,这是不好的习惯,如果别人不这样:
Form1 := TForm1.Create(.... 而是
aForm := TForm2.Create(......)
那你的程序就会出错了!!
你可以能过Self变量来引用窗体本身,如
Self.Caption := 'asdfasd',而不要用 Form1.Caption := 'asdfasfd';