Тема: Фатальная ошибка (немодальный диалог, ACAD2011)
Не без помощи книги Полещука "настройка и адаптация...2006" и визарда создал немодальный диалог.
Компиляция происходит успешно, приложение загружается и работает (вроде все нормально). Затем я выгружаю приложение.
И тут самое интересное - снова загружаю приложение, пытаюсь его запустить и происходит фатальная ошибка.
Точно не знаю что именно надо из кода приложить. Может это подойдет:
Запуск приложения:
static void MP_CALC_MpArm(void) { // Add your code for command Arm2._MpArm here if(!g_pModeless){ CAcModuleResourceOverride resOverride; g_pModeless = new CArmDlg(acedGetAcadFrame()); g_pModeless->Create(IDD_ARMDLG); g_pModeless->ShowWindow(SW_SHOWNORMAL); gbDisplayDialog = true; } else { if(!g_pModeless->IsWindowVisible() || g_pModeless->IsIconic()){ g_pModeless->ShowWindow(SW_SHOWNORMAL); gbDisplayDialog = true;} else{ MessageBox(NULL, _T("Окно уже активно"), _T("Предупреждение"), MB_OK | MB_ICONINFORMATION); gbDisplayDialog = true;} } // if(!g_pModeless) }
Удаление:
void CArmDlg::OnCancel() { gbDisplayDialog = false; DestroyWindow(); }
void CArmDlg::PostNcDestroy() { delete this; if(g_pModeless) {g_pModeless = NULL;} CAcUiDialog::PostNcDestroy(); }
virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) { // TODO: Add your code here delete g_pModeless, diams, massa, area; if(g_pModeless) {g_pModeless = NULL;} // You *must* call On_kUnloadAppMsg here AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ; return (retCode) ; }