微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

你如何干净地中止Delphi程序?

我有一个程序在关机时遇到麻烦,引发了我无法追溯到源代码的异常。它似乎是时间相关和非确定性的。这是在所有共享资源被释放之后发生的,而且由于关闭,内存泄漏不是一个问题,所以我想知道是否有任何方法可以让程序在释放共享资源之后立即和静地终止,而不是继续关闭序列并给出异常消息框。

有人知道该怎么做吗?

解决方法

在看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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐