I am updating an application originally built in 2007 with Visual Studio 2022. I've made a few minor changes to get the program to compile successfully, but when I run the program it generates an assertion error on the DoModal() call:
Code:
CGenisysInteractApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CGenisysInteractApp initialization
BOOL CGenisysInteractApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
//Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
//Background color test
SetDialogBkColor(RGB(192,192,192), RGB(0,0,0));
CGenisysInteractDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
The assertion error generated is as follows:
Code:
Debug assertion failed!
Program C:\WINDOWS\SYSTEM32\mfc140d.dll
File:
d:\a01\_work\3\s\src\vctools\VC7Libs\ATLMFC\Src\MFC\occcont.cpp
Line: 925
I wanted to see what was happening in occcont.cpp to generate this error, and then I immediately recognized that I don't have ANY files on a path of d:\ on this computer. I'm assuming this was the path to the old directory on my old PC. So when I perform a search for the file, I located occcont.cpp in a different directory in C:\Program Files\Microsoft Visual Studio\2022\. So now I'm confused as to where to go next. I set a breakpoint in occcont.cpp at line 925 which never gets called:
Code:
921 OleControlSiteOrWnd *pTemp =
922 new COleControlSiteOrWnd(
923 hwndCtrl,
924 pOccDlgInfo->m_pItemInfo[i].bAutoRadioButton);
925 ASSERT(IsWindow(pTemp->m_hWnd));
So question - why is VS2022 looking for this file in a directory that doesn't exist? It seems to be finding the file, or else it wouldn't have made it to line 925, right? What is this assertion error telling me?