我有一个程序在关机时遇到麻烦,引发了我无法追溯到源代码的异常。它似乎是时间相关和非确定性的。这是在所有共享资源被释放之后发生的,而且由于关闭,内存泄漏不是一个问题,所以我想知道是否有任何方法可以让程序在释放共享资源之后立即和静默地终止,而不是继续关闭序列并给出异常消息框。
有人知道该怎么做吗?
解决方法
在看Delphi运行时库后的源代码,并在Microsoft文档中;我可以证实梅森和保罗 – 扬评论。
关机的层次结构如下
Application.Terminate() performs some unidentified housekeeping of application calls Halt() Halt() calls ExitProc if set alerts the user in case of runtime error get rid of PackageLoad call contexts that might be pending finalize all units clear all exception handlers call ExitprocessProc if set and finally,call ExitProcess() from 'kernel32.dll' ExitProcess() unloads all DLLs uses TerminateProcess() to kill the process