void CMainFrame::OnMenuitemopenfd() 
{
//TODO: この位置にコマンド ハンドラ用のコードを追加してください
    DWORD   dwErrorCode=0;
    DWORD dwo;
LPCTSTR lpMsgBuf;
    DISK_GEOMETRY lpGeometry;
CString str = "a:\\PAFDU000";
    
    INT i; for(i = 0;i<54;i++)
{
*pDataBak  = i;
pDataBak++;
}

  /* m_pObj->Initialize(str);
   m_pObj->Open2ModeFd(str);
    m_pObj->Write2ModeFd(m_pData,256*26,dwo,0);
    AfxMessageBox(m_pObj->m_lptErrorMessage);
   m_pObj->Close2ModeFd(); */
}CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
     m_pData = new  BYTE(256*54);
// BYTE* pDataBak = m_pData;
 pDataBak =new BYTE(1025);
 m_pObj = new myC2ModeFd;
}
public: CDialogBar m_wnDialogBar;
BYTE* m_pData;
BYTE* pDataBak;
// BYTE* pDataBak;
myC2ModeFd*  m_pObj;
// Operations

解决方案 »

  1.   

    用new 分配数组应该用[]你用的都是()
      

  2.   

    CMainFrame::~CMainFrame()
    {
      
    delete m_pData;
        delete pDataBak;
        delete m_pObj;
    }
      

  3.   

    改为:
    CMainFrame::CMainFrame()
    {
        m_pData = new BYTE[256*54];
        pDataBak =new BYTE[1025];
        m_pObj = new myC2ModeFd;
    }CMainFrame::~CMainFrame()
    {
      
        delete [] m_pData;
        delete [] pDataBak;
        delete m_pObj;
    }
      

  4.   

    要把new从堆上分配的内存释放