gpt4 book ai didi

delphi - 如何让控制台应用程序的主线程成为MTA?

转载 作者:行者123 更新时间:2023-12-03 18:20:25 25 4
gpt4 key购买 nike

使用 Delphi,如何创建一个具有初始化为 COINIT_MULTITHREADED 的主线程的 (Windows) 控制台应用程序?

如果我在第一个语句中调用CoInitializeEx(nil, COINIT_MULTITHREADED),我会得到一个HRESULT 0x80010106(设置后无法更改线程模式),所以显然之前运行的一些代码已经调用CoInitialize/Ex.

如何让主线程成为COINIT_MULTITHREADED

最佳答案

由于使用子句而包含在程序中的单元之一已经在其单元初始化部分中初始化了 COM。

您需要识别该单元,并将其从您的程序中删除。

考虑这个程序:

{$APPTYPE CONSOLE}

uses
ActiveX,
ComObj;

begin
Writeln(CoInitializeEx(nil, COINIT_MULTITHREADED));
end.

输出为0,这表明空控制台应用程序不会初始化 COM。

关于delphi - 如何让控制台应用程序的主线程成为MTA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57325229/

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