自己写了一个dll(regular dll using shared mfc dll),然后隐式在其他应用程序里调用,但是程序运行的时候回出现两个assert failed的对话框,分别提示:(1)File:appcore.cpp Line:85(2)File:appcore Line:92,如果我点忽略,程序可以继续运行,而且也不影响导出函数的使用。谁知道问题出在哪里呀?谢谢!

解决方案 »

  1.   

    谁又遇到过类似的问题?还是我在调用的时候有问题。我查了下appcore.cpp文件:
    CWinApp::CWinApp(LPCTSTR lpszAppName)
    {
    if (lpszAppName != NULL)
    m_pszAppName = _tcsdup(lpszAppName);
    else
    m_pszAppName = NULL; // initialize CWinThread state
    AFX_MODULE_STATE* pModuleState = _AFX_CMDTARGET_GETSTATE();
    AFX_MODULE_THREAD_STATE* pThreadState = pModuleState->m_thread;
    ASSERT(AfxGetThread() == NULL);//------->85行
    pThreadState->m_pCurrentWinThread = this;
    ASSERT(AfxGetThread() == this);
    m_hThread = ::GetCurrentThread();
    m_nThreadID = ::GetCurrentThreadId(); // initialize CWinApp state
    ASSERT(afxCurrentWinApp == NULL); // only one CWinApp object please
                                               //--------〉92行
    pModuleState->m_pCurrentWinApp = this;
    ASSERT(AfxGetApp() == this);
    }是不是我加载dll的时候有问题呀?
      

  2.   

    看这个要看出问题来,很难的。还是应该查查你的dll的问题
      

  3.   

    我也想可能是我的dll有问题,但我不知道从那里下手。虽然有这个问题,但是当我忽略的时候,我的程序还是可以运行的,并且dll里导出函数使用也正常的。我晕在好好看看吧
      

  4.   

    http://community.csdn.net/Expert/topic/3279/3279516.xml?temp=.3952906
    也在讨论此问题,关注。
      

  5.   

    我也遇到与楼主类似的问题,欢迎关注!
    http://community.csdn.net/Expert/topic/3279/3279516.xml?temp=.850567
      

  6.   

    garygao(窒息的鱼),如果你的问题接决,可否知会一下?
    MSN: [email protected]
    当然,如果我找到好的方法,一定告诉你!
      

  7.   

    问题已经解决了,在这里
    http://community.csdn.net/Expert/topic/3279/3279516.xml?temp=.7972071