Re: [問題] VC++.net製作的DLL給BCB載入

看板C_and_CPP (C/C++)作者 (卡馬請出來面對!!)時間13年前 (2012/12/04 20:48), 編輯推噓2(205)
留言7則, 1人參與, 最新討論串2/3 (看更多)
Application 請加上 CoCreateInstance() 在最開始的地方 managed component call by unmanaged application REF: http://msdn.microsoft.com/zh-tw/library/zsfww439%28VS.90%29.aspx ※ 引述《tenboguang (業界標準)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : VC++.net framework 2.0 win32 project BCB : 問題(Question): : 請教一下各位先進 : 目前用VC++ win32 project製作DLL : 這DLL會去產生一個form 其中有用到.net元件 : 然後在BCB裡面以LoadLibrary動態的方式去呼叫 : 錯誤結果(Wrong Output): : 結果都會跑出一個錯誤 : System.InvalidOperationException: DragDrop 登錄失敗。 : ---> System.Threading.ThreadStateException: : 目前的執行緒必須先設為單一執行緒 Apartment (STA) 模式, : 才能進行 OLE 呼叫。請確認您的 Main 函式上已經標記有 STAThreadAttribute。 : 想請教各位這該怎麼解決 : 因為用VC++去呼叫都可以 : 可是用BCB就都會跑出這個錯誤視窗 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.244.117

12/04 21:08, , 1F
謝謝
12/04 21:08, 1F

12/04 21:09, , 2F
對了CoCreateInstance(這裡參數嗎);
12/04 21:09, 2F

12/04 22:03, , 3F
請問是CoCreateInstance(clsid,....,(void**)&form1);
12/04 22:03, 3F

12/04 22:04, , 4F
然後在去myDll::DllForm^ form1= gcnew DllForm();
12/04 22:04, 4F

12/04 22:04, , 5F
form1= gcnew DllForm();
12/04 22:04, 5F

12/04 22:05, , 6F
form1->show();
12/04 22:05, 6F

12/04 22:06, , 7F
myDll::DllForm^ form1這在最前面這樣嗎
12/04 22:06, 7F
文章代碼(AID): #1GlV4m4C (C_and_CPP)
文章代碼(AID): #1GlV4m4C (C_and_CPP)