Hi,
I have an arx mfc application with dialog. Inside dialog there are some control, standard mfc and ocx like old datagrid.
In this dialog also I use the acedSSGet function to get selection group.
On Autocad 2006 there is no problem.
When I run it in autocad 2008, after unicode porting, some times (random) crash in the mfc function: DWORD COleControlSite::GetDefBtnCode() when I pressed a button that use acedSSGet , but the function with fine, the crash just after, not in my code.
I have try different way to open dialog:
domodal, whit begin and complete editor command for autocad view interaction
showdialog, with ShowWindow(SW_MINIMIZE) instead of beginEditorCommand
declare dialog with class CAdUIDialog, CAcUIDialog, CDialog
but it always crash on the mfc function GetDefBtnCode()
Any idea?
This is call stack window before crash:
> mfc80u.dll!COleControlSite::GetDefBtnCode() Line 750 C++
mfc80u.dll!_AfxCheckDefPushButton(CWnd * pWndRoot=0x00000000, CWnd * pWndOldFocus=0x00000000, CWnd * pWndNewFocus=0x0a0b60f8) Line 542 + 0xa bytes C++
mfc80u.dll!COccManager::IsDialogMessageW(CWnd * pWndDlg=0x0a0b6020, tagMSG * lpMsg=0x002ef7c0) Line 816 C++
mfc80u.dll!CWnd::IsDialogMessageW(tagMSG * lpMsg=0x002ef7c0) Line 195 + 0x14 bytes C++
mfc80u.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x002ef7c0) Line 4267 + 0x6 bytes C++
mfc80u.dll!CDialog::PreTranslateMessage(tagMSG * pMsg=0x002ef7c0) Line 79 + 0x8 bytes C++
mfc80u.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x00040ea2, tagMSG * pMsg=0x002ef7c0) Line 2882 + 0xb bytes C++
mfc80u.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x002ef7c0) Line 233 + 0xe bytes C++
mfc80u.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x002ef7c0) Line 773 + 0x9 bytes C++
acad.exe!004828e0()
[Frames below may be incorrect and/or missing, no symbols loaded for acad.exe]
mfc80u.dll!CThreadLocalObject::GetData(CNoTrackObject * (void)* pfnCreateObject=0x700e83a0) Line 430 + 0x5 bytes C++
mfc80u.dll!AfxGetModuleThreadState() Line 468 + 0x16 bytes C++
mfc80u.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x002ef7c0) Line 255 C++
mfc80u.dll!AfxInternalPumpMessage() Line 178 + 0xf bytes C++
Thanks
Andrea