我在 CulLoadblg 对话框定义了一个成员函数:
 Bin类  Bin bin;在其中一个消息处理机制加入
如下代码:
代码一:
bin.ReadBin();
bin.AcquireMusic();    //这个函数对 pathList   加入元素在另一个对话框加入了以下代码:UpLoad dlg;
if (dlg.DoModal() == IDOK)
{  
pathList = dlg.bin.pathList;    //pathList 为  list<CString>
}出现以下情况:  1.如果我在CulLoadblg对话框的控件中执行代码一,没有出错.
2.如果没有执行代码一,出现异常   -- 内存不为读的情况. 问题:  怎样解决这样的情况?

解决方案 »

  1.   

    提前判断pathList是否为空,或设个bool
      

  2.   

    增加判断pathList.GetCount()是否为零
      

  3.   


    UpLoad dlg;
    if (dlg.DoModal() == IDOK)
    {
    if (dlg.bin.pathList.size()>0)
    {
    pathList = dlg.bin.pathList;
    }
    } int ListRowCount = pathList.size();
    CString tempStr;
    int temp;
    for (int i=0; i<ListRowCount; i++)
    {
    temp = i+1;
    tempStr.Format("%03d",temp);
    m_UpList.InsertItem(i,tempStr);   
    m_UpList.SetItemText(i,1,pathList[i]);    //显示文件名
    }
    还是有错
      

  4.   

    if (bin.pathList.size()<0)
    {
    CDialog::OnCancel();
    }
    else
    {
    CDialog::OnOK();
    }这里也一样是
      

  5.   

    关闭 
    UpLoad dlg; 
     出现同样情况!