繁体   English   中英

使 ActiveX 崩溃的 ActiveX 控件中 Winform 用户控件中的 Backgroundworker

[英]Backgroundworker in a Winform Usercontrol in an ActiveX Control crashing the ActiveX

我编写了一个带有可绑定属性的 ActiveX-Control。 ActiveX 由一个显示 WinForms UserControl(通过 CWinFormsControl<..>)的 Dialog 组成。 当 ActiveX 属性改变时,Usercontrol 上的 function 会被调用,然后它应该进行一些数据库调用并显示结果。

到目前为止一切正常。

现在,当我想将数据库查询移动到 BackgroundWorker 时,但每次我在 backgroundworker 中调用我的数据库函数时,ActiveX-Control 都会崩溃。 UserControl 本身(在普通的 WinForms 应用程序中)运行良好。

知道如何在这里找到问题所在吗? 我不知道的线程和 ActiveX 控件是否存在一般缺陷?

ActiveX控件是线程关联的,只有创建ActiveX控件的线程(通常是主线程windows)才能调用控件的属性设置/函数调用。 否则,控件将崩溃。 如果后台工作线程想要通知或回调控制,最好的方法是发布 windows 消息给控制,让控制创建线程来响应消息并做任何你想做的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM