我有一个 MFC 应用程序,我在其中从 exe 调用 mfc dll (vtkMFC.dll)。我在 afxwin1.inl 中得到如下调试断言。
{ 断言(afxCurrentInstanceHandle != NULL);
我尝试使用AfxSetResourceHandle(GetModuleHandle("vtkMFC.dll"))
但仍然遇到相同的错误。我正在使用"use MFC in a static library"
选项。下面是我的代码:
AFX_MANAGE_STATE(AfxGetStaticModuleState()) CWaitCursor WC; // sometimes takes a while to start CCCADApp *app = (CCCADApp *)AfxGetApp(); CFrameWnd *frame = app->pVtkTemplate->CreateNewFrame( this, NULL ); // first init creates the view app->pVtkTemplate->InitialUpdateFrame( frame, this, FALSE); CvtkMDIView* view= dynamic_cast<CvtkMDIView*>(frame->GetActiveView()); // // automatic correction - try to load initial field if solution is not available if(run->GetStatus()==CDawesRun::NOTRUN) options=VTKInitialField|VTKGrid|(options & VTKView2D); if(view) view->setData(run,options,variable); // set data // show the view and frame app->pVtkTemplate->InitialUpdateFrame( frame, this, TRUE);
我的主应用程序是使用“多线程调试 (/MTd)”选项构建的,其中 dll 是使用多线程调试 DLL (/MDd) 构建的。它与此有关吗?请帮我。
谢谢。