У меня есть следующий фрагмент кода
Procedure TFrm.Retrieve(mystring : string);
var
bs : TStream;
...
begin
...
bs:=nil;
//bs:= TStream.create;
try
bs := CreateBlobStream(FieldByName('Picture'), bmRead);
finally
bs.Free;
end;
...
end;
У меня проблема с пониманием инициализации переменной bs
.
Если я не инициализирую ее, я получаю очевидное предупреждение.
Variable 'bs' might not have been initialized.
Теперь, если я сделаю это как закомментированную часть, то есть
bs:= TStream.create;
, я получу следующее предупреждение.
Constructing instance of 'TStream' containing abstract method 'TStream.Read'
Constructing instance of 'TStream' containing abstract method 'TStream.Write'
и, наконец, все будет работать нормально,Я использую
bs:=nil;
Правильно ли я делаю это, назначив Nil
?
Любые мнения приветствуются.