看板 C_and_CPP 關於我們 聯絡資訊
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
tenboguang:謝謝 12/04 21:08
tenboguang:對了CoCreateInstance(這裡參數嗎); 12/04 21:09
tenboguang:請問是CoCreateInstance(clsid,....,(void**)&form1); 12/04 22:03
tenboguang:然後在去myDll::DllForm^ form1= gcnew DllForm(); 12/04 22:04
tenboguang: form1= gcnew DllForm(); 12/04 22:04
tenboguang: form1->show(); 12/04 22:05
tenboguang:myDll::DllForm^ form1這在最前面這樣嗎 12/04 22:06