最近遇到個(gè)十分棘手的問題 希望大家能幫忙解答下 語言C# WinForm
最近項(xiàng)目的程序修改 需要使用COM控件 由三個(gè)DLL組成 其中兩個(gè)是語言包
由于前期項(xiàng)目已經(jīng)在客戶那里安裝 只要能自動(dòng)更新就行了 我們這個(gè)程序是的機(jī)制是先由一個(gè)項(xiàng)目的Splash窗體來自動(dòng)更新 然后利用Assembly來反射動(dòng)態(tài)加載登錄窗體的那個(gè)項(xiàng)目 然后用Activator.CreateInstance來創(chuàng)建出登錄窗體,我需要在登錄窗體里加載COM控件,于是我在登錄窗體里寫了注冊(cè)這個(gè)COM組件的方法也正常,但到了實(shí)例化那個(gè)COM組件時(shí)就報(bào)錯(cuò):當(dāng)前線程不在單線程單元中,因此無法實(shí)例化 ActiveX 控件,想了很多辦法無法解決,希望大家?guī)兔鉀Q下。
項(xiàng)目A為啟動(dòng)項(xiàng)目,在A中的啟動(dòng)窗體中利用Assembly反射項(xiàng)目B中的一個(gè)窗體,在項(xiàng)目B的這個(gè)窗體里注冊(cè)COM,加載COM控件,代碼執(zhí)行到COM控件實(shí)例化時(shí)報(bào)錯(cuò):當(dāng)前線程不在單線程單元中,因此無法實(shí)例化 ActiveX 控件
- 1 回答
- 0 關(guān)注
- 738 瀏覽
添加回答
舉報(bào)
0/150
提交
取消