我好几天没弄出来,高手救命
void CImageWnd::GetImageData(CString strPath)
{
m_strPath = strPath;
CReadDicom readDicom;
CxImage * pImage1=new CxImage;
m_pImage = readDicom.GetDcmLocalImageData(strPath,(CxImage*)&pImage1);
delete pImage1;//在函数外进行new和delete,防止内存泄漏}
CxImage* CReadDicom::GetDcmLocalImageData(CString inPath,CxImage*pImage )
{
pImage = new CxImage;//为什么这行注销了就会运行23行;不注销,就可以正确到20行 BOOL bReVal = FALSE;
BYTE * pDicomDibits = NULL;
int nSize = 0;
pImage->Create(pDicomImg->getWidth(), pDicomImg->getHeight(), 24);
nSize = pDicomImg->createWindowsDIB((void*&)pDicomDibits, 0, 0, 24, 1, 1);
if(nSize == pImage->GetEffWidth() * pImage->GetHeight() && pDicomDibits != NULL)
{
memcpy(pImage->info.pImage, pDicomDibits, nSize);
bReVal = TRUE;//正确 20行
}
else
{
bReVal = FALSE;//不正确 23行
}
return pImage;
}
这行:pImage = new CxImage;不注销的话就内存泄漏啊,该怎么办。
{
m_strPath = strPath;
CReadDicom readDicom;
CxImage * pImage1=new CxImage;
m_pImage = readDicom.GetDcmLocalImageData(strPath,(CxImage*)&pImage1);
delete pImage1;//在函数外进行new和delete,防止内存泄漏}
CxImage* CReadDicom::GetDcmLocalImageData(CString inPath,CxImage*pImage )
{
pImage = new CxImage;//为什么这行注销了就会运行23行;不注销,就可以正确到20行 BOOL bReVal = FALSE;
BYTE * pDicomDibits = NULL;
int nSize = 0;
pImage->Create(pDicomImg->getWidth(), pDicomImg->getHeight(), 24);
nSize = pDicomImg->createWindowsDIB((void*&)pDicomDibits, 0, 0, 24, 1, 1);
if(nSize == pImage->GetEffWidth() * pImage->GetHeight() && pDicomDibits != NULL)
{
memcpy(pImage->info.pImage, pDicomDibits, nSize);
bReVal = TRUE;//正确 20行
}
else
{
bReVal = FALSE;//不正确 23行
}
return pImage;
}
这行:pImage = new CxImage;不注销的话就内存泄漏啊,该怎么办。
...全文
相关推荐
7天突破四级六级抢分救命课讲义官方完整版.pdf
7天突破四级六级抢分救命课讲义官方完整版.pdf
24考研线代救命课程By没咋了.pdf
24考研线代救命课程By没咋了.pdf
跨平台socket demo
在网络上找了很久都没找到自己需要的资源,经过十数天的折腾终于弄出来了,分享给大家。 windows xp下使用apache.mina2框架搭建socket服务器,客户端在苹果系统下用c来实现的,因为用AsyncSocket框架无法正常与服务器交互,不知问题出在哪里,只好使用c了。 demo里包含windows下socket服务器、客户端工程以及mac os下客户端的工程,绝对超值!
好几天解决不了的问题源代码
好几天了,没找到答案............
救命啊,两宿舍美女都在追我
救命啊,两宿舍美女都在追我


