I'm trying to get my CDialog based application to close. I call CWnd::OnClose() and then the debugger goes into windows system files. In the debugger output window I get these looping lines indefinitely.
The thread 'Win32 Thread' (0x1040) has exited with code 0 (0x0). The thread 'Win32 Thread' (0x2fa4) has exited with code 0 (0x0). The thread 'Win32 Thread' (0x1ca0) has exited with code 0 (0x0). 'LifescanDatabaseApplication.exe': Unloaded 'C:\Windows\SysWOW64\davclnt.dll' 'LifescanDatabaseApplication.exe': Unloaded 'C:\Windows\SysWOW64\davhlpr.dll' 'LifescanDatabaseApplication.exe': Loaded 'C:\Windows\SysWOW64\davclnt.dll', Cannot find or open the PDB file 'LifescanDatabaseApplication.exe': Loaded 'C:\Windows\SysWOW64\davhlpr.dll', Cannot find or open the PDB file
Any ideas what I've broken or how I should track it down? Thanks, James
Edit The function OnClose() for the dialog is shown here;
void CApplicationDlg::OnClose()
{
UpdateData(TRUE);
if(AfxMessageBox(_T("Are you sure you want to close? If so, no more updates will be issued"),MB_YESNO)==IDYES)
{
Logger * instance = Logger::Instance();
if(instance!=nullptr)
{
instance->writeToLogFile("Application shutdown.");
}
CWnd::OnClose();
}
}
I've traced this through with a debugger through the Cwnd::OnClose() command. Problem is, the code isn't getting back to the part that calls the dialog box to run EndDialog. I think I've altered something elsewhere in the dialog box code that is stopping this working.
Edit 2: Replacing CWnd::OnClose() with this->EndDialog(0) appears to fix the problem, but this is worrying.