Вниз
Скачать: CL | DM;

Трудности с разжатием потока (ZLib)   Найти похожие ветки 

 
tlan   (2004-05-01 12:00) [0]

Здравствуйте Уважаемые. Проблема в следующем: файл хранится в таблице в сжатом виде (использую ZLib), при получении его содержимого ниже описанным способом его длина составляет 0 байт. Мне кажется что проблема в этом месте (***), не подскажите как можно это обойти, спасибо.


const
 BufferSize = 4096;
var
 Count:integer;
 Buffer: array[0..BufferSize-1] of Byte;
...
DestStream:=TFileStream.Create(SaveDialog.FileName,fmCreate);
SourceStream:=TMemoryStream.Create;
 try
   TBlobField(fmMainQuery.FieldByName("DocFileAtach")).SaveToStream(SourceStream); // *** <Problem>
   ZStream:=TDecompressionStream.Create(SourceStream);
   try
     while True do begin
       Count:=ZStream.Read(Buffer, BufferSize);
       if Count<>0 then DestStream.WriteBuffer(Buffer, Count) else Break;
     end;
     finally
       ZStream.Free;
     end;
   finally
     SourceStream.Free;
     DestStream.Free;
   end;


 
tlan   (2004-05-01 13:41) [1]

Ну совсем уже погнал!!!
Сам нашел в чем причина.
Для тех кому интересно:
...
TBlobField(fmMainQuery.FieldByName("DocFileAtach")).SaveToStream(SourceStream);
SourceStream.Position:=0;
...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
14-1082914716
Knight
2004-04-25 21:38
2004.05.16
FAQ, примеры кода, статьи и прочее...


1-1083086641
asdus
2004-04-27 21:24
2004.05.16
Передача двумерного массива в процедуру/функцию


6-1080201872
Katya_mgkit
2004-03-25 11:04
2004.05.16
NetBios


1-1083153868
Term
2004-04-28 16:04
2004.05.16
Как добавить кнопку на ToolBar кнопку программно


7-1081255673
Timon
2004-04-06 16:47
2004.05.16
Как программно создать пользователя с правами админа?




   Наверх