MDI기반이고

 

 자식창이 2개 있습니다.

 

 자식창 각각 cview클래스 상속받아 만들었고

 

각각의 이름은 다음과 같습니다.

 - CMFCApplication2View

 - asd

 

 

CMFCApplication2View 창에서 마우스우클릭시 전역변수 값 a가 10씩 증가 되고

asd에서 그 갱신된 값을 그리기 위해 다음과 같이 코딩하였습니다.

 

 

 

void CMFCApplication2View::OnRButtonDown(UINT nFlags, CPoint point)
{
 // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
 
 
 a = a + 10;


 
 CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
 asd* pView = (asd*)pFrame->GetActiveView();

 pView->Invalidate(TRUE);
 


 CView::OnRButtonDown(nFlags, point);
}

 

위와 같이 하면 오류는 안생기는데,

예외 발생(0x0F222714(mfc140ud.dll), MFCApplication2.exe): 0xC0000005: 0x00000020 위치를 읽는 동안 액세스 위반이 발생했습니다..

라고 뜨면서 프로그램이 중지되네요

 

 

문제가 되는 부분이 pView->Invalidate(TRUE);

이부분인데

이부분을 없애면, 즉각적으로 화면이 갱신이 안됩니다TT