Чтобы отобразить диалоговое окно из MFC dll
, как в сценарии - вы экспортировали функцию в DLL, и из этой функции вы вызываете DoModel()
. Этот шаблон фактически хранится в модуле DLL. Вам нужно изменить состояние модуля, чтобы текущий дескрипторused.You можно сделать это с помощью:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
AFX_MODULE_STATE AfxGetStaticModuleState()
-> The AFX_MODULE_STATE
структура содержит глобальные данные для модуля, то есть часть состояния модуля, которая выдвигается или выталкивается.
IN DLL-код будет выглядеть так:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDlg objMyDlg;
iRet = objMyDlg.DoModal();