gpt4 book ai didi

c# - 带有 ActiveX 控件的 Windows 窗体应用程序仅在生产环境中不关闭子窗体

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:42 31 4
gpt4 key购买 nike

我有一个 Windows 窗体应用程序,它创建一个窗口并监视 SQL 队列中的条目。当出现某些内容时,它会生成一个线程,该线程会打开另一个 Form,该 Form 会启动另一个线程来完成包含 ActiveX 控件的工作。控件完成其工作后,我将其从表单中删除,处理掉,然后调用垃圾收集器。然后我使用委托(delegate)调用 Close()(因为它在线程中)。
这就是问题开始的地方。在我的开发箱上,一切正常;子形式消失了,我留下了我开始的主要形式。但是,当我尝试在 Windows 2003 Server 机器上运行它时,它不起作用。子形式不会消失。它卡住了。我可以四处移动它,但尝试关闭它会弹出“立即结束”对话框(主窗体也会卡住,如果我单击按钮则显示“无响应”)。
我尝试登录 ChildForm_FormClosed,我可以在事件日志中看到该条目,所以它卡在了它认为已关闭和实际关闭之间的某个位置...?

这可能是什么原因?
我认为可能是机器上的 ActiveX 控件没有正确安装,但应用程序的那部分工作正常,并且在控件被处理掉之前它不会卡住。

最佳答案

原来这是第 3 方 ActiveX 控件的问题。它有一个错误,即它不想在被告知关闭时关闭。

关于c# - 带有 ActiveX 控件的 Windows 窗体应用程序仅在生产环境中不关闭子窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927993/

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