コンパイラを VC++ 6 から MSVC 2005 にアップグレードした後にアサーションを更新する必要があるのは正常ですか? Visual Studio 6でアサーションをトリガーせずに機能する次の関数がありますが、それより新しいものは失敗します。
void CMainFrame::OnUpdateGraphValue (CCmdUI* pCmdUI) {
BOOL bMax;
CMDIChildWnd *child = MDIGetActive (&bMax);
if (child)
{
if (child->IsKindOf (RUNTIME_CLASS (CGaugeChildFrame)))
{
CGaugeView *pView = (CGaugeView *) child->GetActiveView ();
if (pView->wndActive)
{
ASSERT (pView->IsKindOf (RUNTIME_CLASS (CGaugeView)));
pCmdUI->Enable (TRUE);
return;
}
}
if (child->IsKindOf (RUNTIME_CLASS (CGarterChildFrame)))
{
CGarterView *pView = (CGarterView *) child->GetActiveView ();
if (pView->wndGraphics)
{
ASSERT (pView->IsKindOf (RUNTIME_CLASS (CGarterView)));
pCmdUI->Enable (TRUE);
return;
}
}
}
pCmdUI->Enable (FALSE); }
オンラインでエラーが発生するASSERT (pView->IsKindOf (RUNTIME_CLASS (CGaugeView)));
印刷プレビューをクリックすると、タイプが ではありませCGaugeView
んCPreviewView
。
誰かが私のためにこれに光を当てることができますか? ありがとう