CRichEditCtrl не работает должным образом в общих DLL, написанных с использованием MFC?
Я пишу DLL, написанную на MFC для использования другим приложением.
настройки проекта:
1. Используйте MFC в статической библиотеке
2. препроцессор: AFXDLL
3. MD Build
Я также использовал AFX_MANAGE_STATE (AfxGetStaticModuleState()) перед вызовом CWinApp, который внутренне вызывает InitInstance и DLL main.
В этом диалоге есть вкладка, и я вижу только первую вкладку, все остальные вкладки отображаются пустыми. Когда я использую ту же DLL, что и exe (с необходимыми изменениями), она работает нормально.
Также DLL падает, когда я вызываю AfxGetApp()? Я полагаю, что основная проблема связана с DOMODAL(). Может кто-нибудь сказать, что может быть проблема не работает вкладка управления?
Обновление Я обнаружил, что проблема была в CRichEditCtrl. В диалоговом окне у меня было это также, когда я удалил это. Это работало нормально. Может кто-нибудь знает причину этого.. Я использовал AfxInitRichEdit2() раньше в InitiInstance()
Я новичок в MFC, поэтому дайте мне знать, если вам нужна дополнительная информация
2 ответа
Вы должны вызвать AfxInitRichEdit(), прежде чем использовать элемент управления rich edit.
Ты звонишь AfxInitRichEdit2
в InitInstance
из EXE?
Попробуйте положить его в DLL InitInstance
тоже!