因为多次传递图像数据需要用到临时的中间缓冲区,且大小不一样。
以下的GlobalAlloc等用法有没有问题?程序运行时会出错
BYTE* pTempBuf=NULL;
HGLOBAL hTemp;
hTemp=GlobalAlloc(GHND,100);
for(int i=0;i<nCount;i )
{
GlobalReAlloc(hTemp,GetSize(i),GMEM_MOVEABLE);
pTempBuf=(BYTE *)GlobalLock(hTemp);
//
//using pTempBuf...
//
GlobalUnlock(hTemp);
}
GlobalFree(hTemp);
民工 [等级:◆(初级)] (信誉值: 100) 回复于: 2006-5-27 22:51:51 Top
GlobalFree(hTemp);是不是该放到里边去?
西时地恩 [等级:◆(初级)] (信誉值: 100) 回复于: 2006-5-27 23:05:52 Top
放在里面和外面都是出错
这样用GlobalReAlloc 没问题吗
汪洋中的一片叶子 [等级:◆◆◆◆◆(中级)] (信誉值: 100) 回复于: 2006-5-27 23:09:09 Top
你的GetSize(i)函数怎么写的?
逍遥小子 [等级:◆◆◆◆(中级)] (信誉值: 99) 回复于: 2006-5-27 23:14:27 Top
我觉得应该放在外面,因为GlobalAlloc才是分配,GlobalReAlloc是在原来的基础上从新分配,如果内存需要从新在另一个内存区分配,他会把原来的释放掉所以只要最后释放就可以了
太平洋 [等级:★★(中级)] (信誉值: 145) 回复于: 2006-5-28 14:30:55 Top
调试看看,哪一句出错?