关于variant的小问题(100分)

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

Adnil

Unregistered / Unconfirmed
GUEST, unregistred user!
variant类型的临时变量是否有必要强制释放?
我记得好像Delphi会自动释放,但又不敢肯定,例如variant使用中出现异常,Delphi如何处理?是否释放?

ie:
procedure xxx;
var
a:variant;
begin
a := createoleobject("xxx.xxxxx")
try
....
finally
a := unAssigned; //这条语句可以省略吗?
end;
end;
 
我是从来没有加这句话的,同时也认为可以不要的
 
我也从来没释放过,关注。
 
应该没什么问题,但是最好加上:
if not varisnull(a) then
a.quit; // ole里面的退出方法。
 
有人有权威一些的官方说明吗? Delphi的帮助中只是指出赋值Variant为UnAssigned可以释放对象。
 
不用释放。
 
Delphi自动管理Variant类型,所以不用释放
 
最好释放。
 
Variant类型是 Delphi自动管理的,Delphi为管理该类型,
加入调度开销,其释放操作包含在这些调度中,所在不用释放。
当然,人工释放更好,但如果这样的话,Variant的优越体现在哪儿呢?
 
Variant是内存自管理类型,不用释放。
 
多人接收答案了!
 
多人接受答案了。
 
后退
顶部