簡體   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