delphi关闭程序Close,application.Terminate与halt区别

当Close是一个主窗体时,程序会退出.
Close会发生FormClose事件,FormCloseQuery事件
Halt会发生FormDestory事件,
Application.Terminate以上三个事件都不会发生

Application.Terminate就是程序结束了。整个程序结束运行,系统强行收回系统资源

当主窗口关闭时或WM_QUIT消息触发时,Terminate自动被调用
close,只是针对窗体。主窗体close以后程序就Application.Terminate了。

子窗体close以后。没释放,还可以Show出来。

也是说主窗口的Close方法其实也是调用Application的Terminate来终止程序的
Application.Close是正常退出,有应用程序主动交还系统资源

另外有一个区别,主窗口的Close方法可以触发OnClose事件
而Application.Terminate并不会触发该事件.

时间: 2024-10-23 13:33:55

delphi关闭程序Close,application.Terminate与halt区别的相关文章

delphi关闭程序Close,application.Terminate与halt区别(摘抄)

当Close是一个主窗体时,程序会退出.Close会发生FormClose事件,FormCloseQuery事件Halt会发生FormDestory事件,Application.Terminate以上三个事件都不会发生Application.Terminate就是程序结束了.整个程序结束运行,系统强行收回系统资源 当主窗口关闭时或WM_QUIT消息触发时,Terminate自动被调用close,只是针对窗体.主窗体close以后程序就Application.Terminate了. 子窗体clos

Delphi 防止程序多次运行《转》

//防止多次打开unit MultInst; interface uses Windows ,Messages, SysUtils, Classes, Forms; implementation const STR_UNIQUE = '{2BE6D96E-827F-4BF9-B33E-8740412CDE96}'; MI_ACTIVEAPP = 1; {激活应用程序} MI_GETHANDLE = 2; {取得句柄} var iMessageID : Integer; OldWProc : TF

Delphi应用程序的调试(五)其他调试工具

Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰富的编程人员来说,它们是非常有用的. Evaluate/Modify对话框(The Evaluate/Modify Dialog Box) 该对话框用于检查变量的当前值和修改变量的值.使用这个对话框,用户可以修改某个变量的值来测试不同的输出结果.在调试期间改变一个变量的值,使用户能测试程序不同参数的

Delphi应用程序的调试(二)使用断点

Delphi应用程序的调试(二)使用断点 使用断点(Using Breakpoints) 当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住. New Term 断点(breakpoint)是一种标记,用以通知编译器,当程序运行到断点所在位置时暂停程序的执行. 设置和清除断点(Setting and Clearing Breakpoints) 断点的设置可通过点击Code Editor的沟槽来进行:要在代码的某一行暂停程序执行,就在沟槽中与该行相对应的位置上点击鼠

《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》

Application和Java Applet的区别.Java语言是一种半编译半解释的语言.Java的用户程序分为两类:Java Application和Java Applet.这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:(1)运行方式不同.Java Application是完整的程序,可以独立运行:Java Applet程序不能单独运行, 它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行.(2)运行工具不同.Java Applicat

打开VS2012项目“关闭程序”

在Win7-32系统上装完VS2012并使用一段时间后,当打开VS2012项目时出现如下对话框: 通过查资料得知这是由于VS2012的漏洞导致的,下载并安装完Microsoft Visual Studio 2012 更新 (KB2781514)文件patch_KB2781514.exe之后,问题得到解决.文件下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=36020 打开VS2012项目"关闭程序",布布扣,bu

第一个Delphi小程序

第一次应工作需呀,接触这个语言,今晚在自己的电脑搭建好环境,写的第一个超简单的Delphi小程序! var temp:Integer; //求个位数 procedure TForm1.BitBtn1Click(Sender: TObject); begin temp := StrToInt(Edit1.Text); Label1.Caption := IntToStr(temp Mod 10); end; //十位数 procedure TForm1.BitBtn2Click(Sender: T

《Java应用程序(Application)》

1 在编写Java应用程序(Application)时可以这样: 2 3 1,定义包名. 4 2, 导入相关的包. 5 3, 定义一个类. 6 4,定义相关变量. 7 5,定义构造函数.(在构造函数内调用init()方法和addEvents()方法) 8 6, 在init()函数中组合各种组件. 9 7,在addEvents()方法中为各种组件添加事件监听器.(可以有异常的捕获及声明). 10 8,定义主函数.在主函数中创建一个本类的对象就可以了. 11 通过构造函数就可以完成调用程序的各种功能

HTML5应用程序缓存Application Cache

HTML5应用程序缓存Application Cache 什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. Application Cache带来的三个优势是: ① 离线浏览 ② 提升页面载入速度 ③ 降低服务器压力 而且主要浏览器皆以支持Application Cache,就算不支持也不会对程序造成什么影响 离线存储技术 HTML5提出了两大离线存