[問題] 有關MFC使用C#的問題 (CLR)

看板C_and_CPP作者 (浪無定所)時間10年前 (2013/11/20 15:20), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
不好意思,想請教各位大大。 我嘗試將MFC C++透過DDX/DDV使用c#的 windows Form http://msdn.microsoft.com/zh-tw/library/1te0bbs8(v=vs.90).aspx 可以正確的開啟且運用 但我將此專案包裝成dll供給其它人使用的同時。 (在別的專案上,將自己mfcDlg.dll和WindowsControlLibrary1.dll複製過去) 在執行的時後,則會Crash在 /*virtual*/void CXSScheduleUIDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_ManagedControl(pDX, IDC_SCHEDULE_GANTT, m_ctrlGantt); Here } (這個m_ctrlGantt是使用c#的control) (CWinFormsControl<XSScheduleGantt::ucGantt> m_ctrlGantt) 並顯示以下的錯誤。 "An unhandled exception of type 'System.AccessViolationException' occurred in mfcDlg.dll" 不知是我哪裡處理錯誤,還是有遺漏的部分? 真的感謝各位大大 測試1:若將相關m_ctrlGantt拿掉,均可正常執行。 補充1: ---------------------------------------------------------------------- 供給其它人使用,其實只的是供給其它Project使用。都是在本機的電腦上 ProjectA 是一個App ProjectB 是一個MFCDlg.dll (且透過CLR呼叫C#的control (WindowsControlLibrary1.dll) 本來懷疑是否是忘記加上AFX_MANAGE_STATE(AfxGetStaticModuleState()); 但在App呼叫MFCDlg.dll入口點,有加上去。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.19.22 ※ 編輯: crazycat2 來自: 36.231.19.22 (11/20 17:53) ※ 編輯: crazycat2 來自: 36.231.19.22 (11/20 18:00)

11/21 16:45, , 1F
AfxEnableControlContainer() 缺了這個 ..
11/21 16:45, 1F
文章代碼(AID): #1IZ6ApD8 (C_and_CPP)