gpt4 book ai didi

delphi - 多个 couninitialize 调用会使应用程序崩溃吗?

转载 作者:行者123 更新时间:2023-12-03 15:50:45 26 4
gpt4 key购买 nike

我有一个应用程序,其中创建了一个线程,该线程必须在超时间隔内检查数据库中是否有特定类型的数据。该线程完全负责创建数据库连接、查询和关闭连接。我在线程执行中只调用了一次 CoInitialize,并重用了 Ado 连接和 Ado 查询以供后续使用。

现在我的问题是,我之前(可能错误地)在循环中留下了 CoUnitialize 语句以进行数据库数据检查。这意味着,每次都会调用 CoUnitialize。为什么应用程序没有崩溃?由于没有数据发布,CoUnitialize 应该失败了。我对此表示怀疑。

提前致谢

最佳答案

CoUninitialize 是一个 WinApi 函数,不接受任何操作,也不返回任何内容。由于这些 WINAPI 函数永远不会抛出异常(据我所知),因此您的应用程序不会因调用它们而崩溃。当调用太多次时,CoUnitialize 只会默默地失败。

但是,当调用需要初始化 COM 的代码时,您的应用程序可能会崩溃。您的应用程序不会崩溃可能意味着两件事:代码不需要 CoInitialize,或者在其他地方调用 CoInitialize,可能在您的 ADO 库中。

关于delphi - 多个 couninitialize 调用会使应用程序崩溃吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com