exeからmfc dll(vtkMFC.dll)を呼び出すMFCアプリがあります。そこで、afxwin1.inl で以下のようなデバッグ アサーションを取得しています。
{ ASSERT(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);
私のメインアプリは、DLLがマルチスレッドデバッグDLL(/ MDd)でビルドされる「マルチスレッドデバッグ(/ MTd)」オプションでビルドされています。これと何か関係がありますか?私を助けてください。
ありがとう。