속성 시트를 만들려고 할 때마다 "디버그 어설 션이 실패했습니다"라는 메시지가 나타납니다.이 첫 번째 것은 "MFC 프로그래밍을 처음부터" .mfc 속성 시트를 만들려고 할 때 어설 션 오류가 발생했습니다.
afx_msg void CMainWin::OnActivate()
{
m_PropSheet.DoModal(); //activate modal property sheet
}
:
class CMainWin : public CFrameWnd
{
CSamplePropSheet m_PropSheet;
public:
CMainWin();
afx_msg void OnActivate();
afx_msg void OnExit();
afx_msg void OnHelp();
DECLARE_MESSAGE_MAP()
};
그럼 내가 여기에 전화를 걸 :
class CSamplePropSheet : public CPropertySheet
{
CPropDialog1 page1; //first page
CPropDialog2 page2; //second page
CPropDialog3 page3; //third page
public:
CSamplePropSheet() : CPropertySheet(){
Construct("Sample Property Sheet", this);
page1.Construct("PropDialog1", 0);
page2.Construct("PropDialog2", 0);
page3.Construct("PropDialog3", 0);
AddPage(&page1);
AddPage(&page2);
AddPage(&page3);
}
};
내가 속성 시트 변수가 여기 내 메인 창에 선언 : 여기
는 속성 시트 클래스입니다오류가 나타나면이 코드 섹션을 가리 킵니다.
int AFXAPI AfxMessageBox(UINT nIDPrompt, UINT nType, UINT nIDHelp)
{
CString string;
if (!string.LoadString(nIDPrompt))
{
TRACE(traceAppMsg, 0, "Error: failed to load message box prompt string 0x%04x.\n",
nIDPrompt);
ASSERT(FALSE);
}
if (nIDHelp == (UINT)-1)
nIDHelp = nIDPrompt;
return AfxMessageBox(string, nType, nIDHelp);
}
놓친 것이 있습니까? 나머지 프로그램 메뉴 옵션은 활성화 버튼을 제외하고는 작동합니다.
나는 "PropDialog1"을 "PropD1"지금 프로그램 작품에서, 왜,하지만 어떤 이유로, 리소스 템플릿의 이름이 작동 중 내가 이름을 단축 할 때까지하지 않을 모르겠어요 . 도와 주셔서 감사합니다! – Stablecannon