本文整理自网络,侵删。
这是一个简单的代码: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 = Nothingvar Retvar: IDispatch;begin Retvar := nil; Result := Retvar;end; // do something with V and finally:V := VarNothing;解决方法OleVariant将在超出范围时自动释放界面.如果需要尽快发布,可以为OleVariant分配一个新值.
相关阅读 >>
Delphi Delphi中点击dbgrid某一行获得其详细数据方法
更多相关阅读请进入《Delphi》频道 >>