I am working on a time card program in Visual C++ (FYI: I am VERY new to this, so, please, be gentle with me) :) It compiles with 0 errors and 0 warnings, but when it executes I get an error message that the program needs to close. When I tried to go into Debug, it gave me "Unhandled exception in MFCTimeCard.exe:0XC0000005: Access Violation" I click on OK and it goes to this piece of code in the AfxWinMain()

if (!pThread->InitInstance())
{
if (pThread->m_pMainWnd != NULL)
{
TRACE0("Warning: Destroying non-NULL m_pMainWnd\n");
pThread->m_pMainWnd->DestroyWindow();
}
nReturnCode = pThread->ExitInstance();
goto InitFailure;
}
nReturnCode = pThread->Run();

Please let me know if anyone needs more info. BTW: I did not touch this particular bit when working. I did however add the InitInstance() in a source file.
THANKS!!!

Edited 3 Years Ago by happygeek: fixed formatting

That is kinda what I figured, but I've looked it over a dozen times Here is my code:

BOOL CTimeCardApp::InitInstance() {
    CTimeCard time;
    time.DoModal();
    return FALSE;
}

Thanks!

Edited 3 Years Ago by Dani: Formatting fixed

Doesn't returning false signify failure? I dunno, I'm not an MFC guy. If that's not the problem, then time is crashing on init.

I think you're onto something.
Where is the CTimeCard initialised?
What is it anyway? If it's a reference to something else you're calling a method on an uninitialised object which will indeed cause an access violation.

Got it! I forgot to put in the a line to instantiate the application object. Thanks for your help!!

This question has already been answered. Start a new discussion instead.