- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi – 使用CreateOleObject后释放OleVariant
这是一个简单的代码:
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分配一个新值.