MFC列表控件调试评估失败

MFC列表控件调试评估失败,mfc,Mfc,我试图显示一个对话框,其中列表控件填充了来自父窗口的CString数组的值,但在ListControl的InsertItem命令上Getting debg assertion failed错误 Csheetnamesdlg是子对话框类。 m_sheetnames是listcontrol变量 Csheetnamesdlg tempdlg; LVITEM lvItem; for(int j=0;j<tempsheetnames.GetSize();j++) {

我试图显示一个对话框,其中列表控件填充了来自父窗口的CString数组的值,但在ListControl的InsertItem命令上Getting debg assertion failed错误

Csheetnamesdlg是子对话框类。 m_sheetnames是listcontrol变量

Csheetnamesdlg tempdlg;

    LVITEM lvItem;

    for(int j=0;j<tempsheetnames.GetSize();j++)
    {
        lvItem.mask = LVIF_TEXT;
        lvItem.iItem = 0;
        lvItem.iSubItem = 0;
        tempstring=tempsheetnames.GetAt(j);
        lvItem.pszText = const_cast<LPTSTR>((LPCTSTR)tempstring);
        tempdlg.m_sheetnames.InsertItem(&lvItem);
    }


    tempdlg.DoModal(); 
Csheetnamesdlg tempdlg;
LVITEM LVITEM;

对于(int j=0;j在创建对话框之前,不能使用成员列表控件。在调用DoModal之后,将创建对话框及其所有子项

因此,正确的方法是填写OnInitDialog或DoDataExchange中的列表框

提示:当你得到断言时,总是给我们行和语句


在这种情况下,我确信m_hWnd句柄为NULL,这就告诉了你原因。

我对MFC编程是新手。我在谷歌上搜索了DDX,但所有文章都描述了如何从chil到parent对话框获取数据,而不是从chil到parent对话框获取数据。你能推荐一个好的DDX教程来从parent到child对话框传递数据吗?或者你能演示如何更改abov吗DDX的e代码。据我所知,没有真正的DDX教程。而且,仅DDX无法将列表内容传输到列表框控件。