Вот простой код:
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. нужно ли нам делать то же самое здесь?
ie:
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;