gpt4 book ai didi

.net-3.5 - 当对它的引用被破坏时,VB6 ActiveX exe不会终止

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

我有一个 VB6 应用程序,它引用一个 VB6 ActiveX.exe 应用程序,该应用程序通过 COM 引用 C# .Net 库。该 C# 库有一个可注册的回调方法,我将其冒泡到原始应用程序。 C# 库有两种方法。只需调用回调即可。另一个发出一个事件信号,触发一个简单的线程来调用回调。如果在我原来的应用程序中,我只使用直接方法,当我设置activeX = Nothing时,activeX应用程序就会从任务管理器窗口中消失。如果我只调用线程方法一次,则终止时 ActiveX 应用程序最多五分钟内不会从任务管理器中消失。它最终会消失。有没有人处理过这种行为,如果是的话,我该如何让 activeX 终止?

最佳答案

很可能,您的 C# 对象没有实现 IDisposable,并且您没有显式处置它们。在这种情况下,如果您将回调对象从 VB6 activex exe 传递到 C# 库中,即使您释放了对象,它也会在其对象中保留该引用,因为 C# 会进行垃圾收集。最终,当收集器清理时,它会释放这些 C# 对象,然后释放对 VB6 回调对象的引用,一切都会清除。

关于.net-3.5 - 当对它的引用被破坏时,VB6 ActiveX exe不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4107766/

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