2014-04-29 2 views
0

방금 ​​Cdialog 클래스 작업을 시작했습니다. 다음 코드를 실행하려고하면 디버그 어설 션 오류가 발생합니다.domodal 동안 디버그 어설 션 오류

#include "stdafx.h" 
#include "resource.h" 
#include <afxwin.h> 
#include "dialog.h" 
#include <Windows.h> 


int _tmain(int argc, _TCHAR* argv[]) 
{ 
    dialog dial(NULL); 
    dial.DoModal(); 
    return 0; 
} 

나는 dialog라는 대화 상자 리소스와 CdialogEx 클래스를 만들었습니다. 내가 점점 오전 오류는 "디버그 어설 션 실패

프로그램 :! ... pp_projects \의 ConsoleApplication1 \ 디버그 \되는 ConsoleApplication1.exe 파일 : F : \ DD \ vctools \ vc7libs \ 선박 \ atlmfc \ 포함 \ afxwin1. inl 줄 : 24 " 누구나 해결책을 줄 수 있습니까?

+0

왜 당신은 모달 UI를 구현하려고합니까, 오직 소유자 창으로'NULL'을 전달해야합니다. 'DoModal'의 요구에 어떤 효과가있을 것으로 기대 했습니까? – IInspectable

+0

@IInspectable MSDN 페이지에서 대화 상자 개체의 부모 창을 주 응용 프로그램 창으로 설정하려면 NULL을 전달해야합니다. 그래서 나는 그것을 그렇게 유지했다. 그러나 나는 그들이 의미하는 바를 실제로 이해할 수 없습니다. – Kumar

+0

당신은 * 주요 응용 프로그램 창 *에 대해 이야기하고 있습니까? 너는 아무 것도 없어. 그리고'dialog' 구현을 제공하십시오. – IInspectable

답변

4

프로젝트 이름은 Win32 콘솔 응용 프로그램 프로젝트를 만들고 MFC 항목을 추가했음을 나타냅니다. 작성해야 할 것은 MFC 응용 프로그램 프로젝트입니다.

MFC는 콘솔 응용 프로그램에서도 사용할 수 있지만 대화 상자를 표시하지 않으므로 먼저 MFC를 초기화해야합니다.

+1

예, MFC를 초기화하는 것을 잊었습니다. 내 코드에 AfxWinInit를 포함해야합니다. 고맙습니다. – Kumar