为什么我写了个dll在其中调用create new出一个对象,调用destroy delete它,但老是有这样的错误 ,Debug Error!,Damage:after Normal block(#59) at 0x01631a60!!!!
可能是什么出错 高手能给我讲讲吗???

解决方案 »

  1.   

    DLL方
    加AFX_MANAGE_STATE(AfxGetStaticModuleState());试试!比如下面的函数这样加!
    CMyFind
    {
        CString *FuncA()
        {
            AFX_MANAGE_STATE(AfxGetStaticModuleState());//        CString * pStr = new CString("aaa");
            return pStr;
        }
    }导出函数中,如果要返回地址的,一定要加AFX_MANAGE_STATE(AfxGetStaticModuleState());
    否则地址是相对地址(dll模块),而不是exe的地址//不要重复发贴
      

  2.   

    我是在 dll 中new 在dll中 delete