作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个简单的代码:
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 := Unassigned
代码,或者当V
存在于Test
的范围内时,它是空闲的> 程序?在 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
超出范围时会自动释放接口(interface)。如果您需要更快地发布,您可以为 OleVariant
分配一个新值。
关于delphi - 使用 CreateOleObject 后释放 OleVariant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314183/
有一个代码: var myobject: OleVariant; begin myobject := CreateOleObject('SomeNamespace.SomeClass'); end;
我有一个用 Delphi 7 编写的程序,它也是一个自动化服务器。 自动化服务器通过以下方式注册: TAutoObjectFactory.Create(ComServer, TMyServer,
这是一个简单的代码: procedure Test; var V: OleVariant; begin V := CreateOleObject('ADOX.Catalog'); try
我尝试通过以下安装脚本在 Windows Server 2012(IIS 版本 8.5)中创建 IISSetup,但抛出错误“无效的类字符串”。代码: var IIS, WebSite, WebS
我是一名优秀的程序员,十分优秀!