gpt4 book ai didi

.net - STA,MTA和OLE的噩梦

转载 作者:行者123 更新时间:2023-12-03 13:22:32 26 4
gpt4 key购买 nike

我必须将.NET应用程序作为插件包含到另一个.NET应用程序中。插件界面要求我从模板表单继承。然后,在加载插件时,将表单附加到MDI中。

到目前为止,一切正常,但是每当我注册拖放事件时,都为组合框设置自动完成模式,或者在其他各种情况下,都会遇到以下异常:

...the current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it...



主要应用程序在MTA中运行,并且由另一家公司开发,因此我无能为力。

我试图做在STA线程中导致这些异常的事情,但这也不能解决问题。

有没有人遇到过同样的情况?有什么我可以解决的问题吗?

最佳答案

您可以尝试生成新线程并在其上调用0(Coparitiize)(在线程中),并在该线程中运行您的应用程序。
但是,您不会直接在此线程内更新控件,而应在每次UI修改时都使用Control.Invoke。

我不知道这是否一定能奏效,但是您可以尝试一下。

关于.net - STA,MTA和OLE的噩梦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063181/

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