Вот код, который вызывается по нажатию кнопки (код шел с zeos):
- Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
var
BlobStream: TStream;
FileStream: TStream;
fname: string;
begin
fname := 'kartinka.bmp';
if not FileExists(fname) then FileCreate(fname);
BlobStream := ZQuery1.CreateBlobStream(ZQuery1.FieldByName('b_image'), bmRead);
try
FileStream:= TFileStream.Create(fname, fmOpenWrite); // ошибка тут
try
FileStream.CopyFrom(BlobStream, BlobStream.Size);
finally
FileStream.Free;
end;
finally
BlobStream.Free;
end;
end;
Если нажать кнопку когда файла kartinka.bmp нет в папке, то файл создается, а потом выскакивает "Unable to open file". Если программу закрыть, запустить заново и нажать на кнопку при существующем файле, то все работает нормально, файл сохраняется. То есть получается, что после FileCreate файл чем-то занят?