加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 使用CreateOleObject后释放OleVariant

发布时间:2020-12-15 04:34:24 所属栏目:大数据 来源:网络整理
导读:这是一个简单的代码: procedure Test;var V: OleVariant;begin V := CreateOleObject('ADOX.Catalog'); try // do something with V... finally V := Unassigned; // do we need this? end;end; 我们是否需要在结尾处使用V:=未分配的代码,或者当测试程序的
这是一个简单的代码:
procedure Test;
var
  V: OleVariant;
begin
  V := CreateOleObject('ADOX.Catalog');
  try
    // do something with V...
  finally
    V := Unassigned; // do we need this?
  end;
end;

我们是否需要在结尾处使用V:=未分配的代码,或者当测试程序的范围存在时,V是否是免费的?
在VB中,您将变量设置为Nothing.我们需要在这做同样的事吗?
即:

function VarNothing: IDispatch;
// emulate VB function SET VarX = Nothing
var
  Retvar: IDispatch;
begin
  Retvar := nil;
  Result := Retvar;
end;

// do something with V and finally:
V := VarNothing;

解决方法

OleVariant将在超出范围时自动释放界面.如果需要尽快发布,可以为OleVariant分配一个新值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读