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 тоже!

Другие вопросы по тегам