Einzelnen Beitrag anzeigen

Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#1

Wieder die guten Streams :(

  Alt 17. Okt 2005, 17:36
Hallo,
Ich habe ein weiteres Problem mit den Streams.
Diesmal ist es aber für mich komplett unlogisch, wieso dieser Stream Read Error auftritt.
Ich habe meine Unit mal angehängt damit ihr sie euch ansehen könnt und mich eventuell auch auf andere Fehler hinweisen könnt

Also:
Das hier funktioniert(Dabei wird der Stream direkt in den Funktionen geladen):
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Archive: TArchive;
// FStream: TFileStream;
begin
  Archive := TArchive.Create(ARCHIVEFILE);
// FStream := TFileStream.Create(ARCHIVEFILE, fmCreate or fmShareExclusive);
  try
  showmessage(inttostr(Fstream.position));
    Archive.OnFileProgress := FileProgress;
    Archive.OnTotalProgress := TotalProgress;
    ListBox1.Items.Assign(Archive.Contents);
    ShowMessage('Test');
    Archive.ExtractAll(EXTRACTTO);
  finally
// FreeAndNil(FStream);
    Archive.Free;
  end;
end;
Aber: Wenn ich den Stream schon in bei dem Button lade und ihn dann später an die selbe(nur auf Stream-Empfang ausgelegte)Funktion schicke gibt er mir Exceptions ohne Ende:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Archive: TArchive;
  FStream: TFileStream;
begin
  Archive := TArchive.Create(ARCHIVEFILE);
  FStream := TFileStream.Create(ARCHIVEFILE, fmCreate or fmShareExclusive);
  try
  showmessage(inttostr(Fstream.position));
    Archive.OnFileProgress := FileProgress;
    Archive.OnTotalProgress := TotalProgress;
// ListBox1.Items.Assign(Archive.Contents);
    ShowMessage('Test');
    Archive.ExtractAllFromStream(EXTRACTTO,FStream);
  finally
    FreeAndNil(FStream);
    Archive.Free;
  end;
end;
Das sollte doch keinen Unterschied machen oder?
Ich bitte um Hilfe
Danke schonmal
Max
Angehängte Dateien
Dateityp: pas streamprogressadapter_464.pas (2,5 KB, 5x aufgerufen)
Dateityp: pas archivecls_117.pas (19,4 KB, 6x aufgerufen)
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat