Visual Studio 2008 の MFC アプリケーションで opengl を使用しています。wglmakecurrent でプロジェクトがクラッシュします。
アクセス違反読み取り箇所
これは特定のケースでのみ発生するため、おそらくドライバーの問題ではありません。また、同じエラーが発生する別のマシンをチェックインしました。
エラーは、次の関数の wglMakeCurrent(m_hDC,m_hRC) で発生します。
void CCETIGLView::Convert2D(CPoint win, GLdouble * objx, GLdouble * objy, GLdouble * objz) { if((m_hDC) && (m_hRC)) {
wglMakeCurrent(m_hDC,m_hRC); }
パラメータには次のタイプがあります。
HGLRC m_hRC;
HDC m_hDC;
これらは、cview の子クラスである glview クラスから取得されます。
wglMakeCurrent 関数をチェックすると、GetLastError() に対して 0 が返されます。これは、特定のオプションをレンダリングし、他のオプションが正常に機能する場合に発生します。
シングルスレッドを使用しているため、マルチスレッドの問題もカウントされません。