关于非模式属性表的问题 调用Create()失败 大虾给分析一下吧
调用Create()失败
代码如下
pSheet = new CCCSheet("设置");
pSheet->m_basePage = new CBasePage;
pSheet->m_advancePage = new CProtectPage;
pSheet->AddPage(pSheet->m_basePage);
pSheet->AddPage(pSheet->m_advandcePage);
pSheet->Create();
我根进Create 一直跟到下面函数里
void CPropertySheet::BuildPropPageArray()
{
// delete existing prop page array
delete[] (PROPSHEETPAGE*)m_psh.ppsp;
m_psh.ppsp = NULL;
// build new prop page array
AFX_OLDPROPSHEETPAGE* ppsp = new AFX_OLDPROPSHEETPAGE[m_pages.GetSize()];
m_psh.ppsp = (LPPROPSHEETPAGE)ppsp;
BOOL bWizard = (m_psh.dwFlags & (PSH_WIZARD | PSH_WIZARD97));
for (int i = 0; i < m_pages.GetSize(); i++)
{
CPropertyPage* pPage = GetPage(i); //这里的 pPage有个成员 m_lpDlgTemplate 按理说不应该为0吧 是不是这里的问题????????
memcpy(&ppsp[i], &pPage->m_psp, sizeof(pPage->m_psp));
pPage->PreProcessPageTemplate((PROPSHEETPAGE&)ppsp[i], bWizard);//这行出了问题!!!!!!!!!!!!!
}
m_psh.nPages = m_pages.GetSize();
}