关于句柄的释放

terry_yip 2007-01-11 07:34:02
procedure loadingCursor(turnON:boolean);
var
h:HCURSOR;
begin
if turnON then
begin
h:=LoadCursorFromFile('loading.ani');
setSystemCursor(h,ocr_normal);
end
else
SystemParametersinfo(SPI_SETCURSORS,0,nil,SPIF_SENDCHANGE);
end;


这段代码是改变鼠标光标的.我用memoryProof测试, 抱出说h变量没释放,所以导致内存泄露, 请问,这种变量需要释放吗?应该怎么释放?
...全文
636 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caike 2007-01-15
  • 打赏
  • 举报
回复
sorry,应该是closehandle(hpi.hprocess);
caike 2007-01-15
  • 打赏
  • 举报
回复
createprocess(...hpi);
close(hpi.hprocess);
terry_yip 2007-01-12
  • 打赏
  • 举报
回复
我试过在我上面代码的最后一句加上 CloseHandle(h);马上报内存错误了. 这是什么原因?
还有,什么才是内核对象的句柄?能举个例子吗
zhuminghua 2007-01-11
  • 打赏
  • 举报
回复
内核对象的句柄才需要用CloseHandle,这里不需要
newfang 2007-01-11
  • 打赏
  • 举报
回复
凡是API返回的句柄,最后都要 CLOSEHANDLE

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧