Я пытаюсь подключить приложение и запустить его в моем новом окне MFC.DLL (Wrapper) работает очень хорошо, но у меня проблема с MFC ... Полный код MFC находится внутри "AST" - оболочки.Основной объект приложения создан, но окно MFC для этого не открылось.У меня есть контрольные точки (окна сообщений), и благодаря этому я знаю, где остановка кода, этот момент находится внутри InitInstance, в CCommandLineInfo -> ParseCommandLine и ProcessShellCommand.Я не знаю почему, но в этот момент AST замерзли, и я ничего не могу сделать.
BOOL CwelibApp::InitInstance(){
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinAppEx::InitInstance();
// Initialize OLE libraries
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
EnableTaskbarInteraction(FALSE);
// Place all significant initialization in InitInstance
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(4); // Load standard INI file options (including MRU)
InitContextMenuManager();
InitKeyboardManager();
InitTooltipManager();
CMFCToolTipInfo ttParams;
ttParams.m_bVislManagerTheme = TRUE;
weApplication.GetTooltipManager()->SetTooltipParams(AFX_TOOLTIP_TYPE_ALL,
RUNTIME_CLASS(CMFCToolTipCtrl), &ttParams);
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMFCApplication2Doc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMFCApplication2View));
if (!pDocTemplate)
return FALSE;
Say::Box("Init MFC #1");
AddDocTemplate(pDocTemplate);
if(m_hInstance)
Say::Box("m_hInstance");
Say::Box("Init MFC #2");
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo); //Freeze...
Say::Box("Init MFC #3");
if (!ProcessShellCommand(cmdInfo))
return FALSE;
Say::Box("Init MFC #4");
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
Say::Box("Init MFC #5");
return TRUE;};
Где проблема?Как я могу открыть приложение MFC внутри DLL, используя CFrameWndEx, CWinAppEx?
У меня есть «Использовать FMC в статической библиотеке» в настройках проекта по умолчанию.