Autor Beitrag
FloFri
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 97



BeitragVerfasst: Do 09.10.03 13:34 
Hi!

Ich hoffe, mir kann einer helfen. Ich habe folgenden code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var  
  CompressedFile, PluginFile: TFileStream;
  Compressor: Zlib.TDecompressionStream;  
begin
  CompressedFile := TFileStream.Create(filename, fmOpenRead);
  CompressedFile.Seek(0, sofrombeginning);
  PluginFile := TFileStream.Create(Filename + '.unc', fmCreate);
  Compressor := TDeCompressionStream.Create(PluginFile);
  Compressor.CopyFrom(CompressedFile, CompressedFile.Size); 
  Compressor.Free;
  CompressedFile.Free;
...

Ich will die Datei in CompressedFile nach PluginFile dekomprimieren.

Ich bekomme aber bei dem Aufruf:
ausblenden Delphi-Quelltext
1:
Compressor.CopyFrom(CompressedFile, CompressedFile.Size);					

immer den Fehler
Zitat:
Ungültige Stream Operation

Was stimmt da nicht???

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Do 09.10.03 16:23 
Du mußt den komprimierten Stream an TDecompressionStream übergeben und nicht umgedreht. Anschließend kannst Du dann den TDecompressionStream kopieren. Allerdings dürfte ein einfaches CopyFrom nicht funktionieren, da die Anzahl der zu kopierenden Bytes nicht gleich der Dateigröße der komprimierten Datei sein kann.

barfuesser
FloFri Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 97



BeitragVerfasst: Do 09.10.03 17:03 
Wie mach ich das dann am besten?

Ich habs mit dem Versucht:

ausblenden Quelltext
1:
2:
3:
4:
5:
  while True do
    begin
      i := Compressor.Read(Buffer, 1);
      if i <> 0 then PluginFile.Write(Buffer, i) else Break;
    end;


Aber dannach ist PluginFile.Size = 0

Kann doch eigendlich nicht sein, oder? Ich brauche nähmlich PluginFile.Size später noch.
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 15.10.03 18:40 
ich habe das gleiche problem, nur mit BZIP2, hast du das problem behben können ?

_________________
MFG
Michael Springwald, "kann kein englisch...."