bitmap.loadFromFile失败异常后该是free还是nil?(25分)

  • 主题发起人 主题发起人 archy
  • 开始时间 开始时间
A

archy

Unregistered / Unconfirmed
GUEST, unregistred user!
bitmap:=TBitmap.Create;
try
bitmap.LoadFromFile(DirectoryListBox1.Directory+'/'+Edit1.Text);
except
bitmap:=nil;
bitmap.free;
//改选哪个呢?
end;
 
bitmap:=nil 是那些更高级语言(比如vb的用法),在c++、delphi这里没有释放的意思
 
我也这么想,可是书上说是bitmap:=nil;
 
呵呵,应该是FreeAndNil
bitmap:=TBitmap.Create;
try
bitmap.LoadFromFile(DirectoryListBox1.Directory+'/'+Edit1.Text);
except
FreeAndNil(BitMap);
end;
 
除非你的程序可能在多个地方释放,你以后还需要通过bitmap的值来判断是否还需要free一下,
否则设置不设置nil都无所谓的,设置nil对内存的释放并没有任何的作用
 
多人接受答案了。
 
后退
顶部