AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wieder die guten Streams :(

Ein Thema von Prototypjack · begonnen am 17. Okt 2005 · letzter Beitrag vom 22. Okt 2005
Antwort Antwort
Prototypjack

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

Wieder die guten Streams :(

  Alt 17. Okt 2005, 16: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
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Wieder die guten Streams :(

  Alt 21. Okt 2005, 13:49
Ich vermute mal, weil FStream leer ist und dort keinerlei Daten drin sind. Für mich hört sich ExtractAllFromStream so an, dass in dem übergebenen Stream, die Archivdatei drin ist. Da aber der Stream leer ist, wird er Probleme haben, irgendwas daraus zu extrahieren
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Prototypjack

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

Re: Wieder die guten Streams :(

  Alt 22. Okt 2005, 23:31
Der Stream dürfte doch eigentlich mit dieser Zeile nichtmehr leer sein oder?
  FStream := TFileStream.Create(ARCHIVEFILE, fmCreate or fmShareExclusive); Die Methodik der Routine hast du schon richtig verstanden, sie soll das Archiv im Stream nehmen.
Gruß,
Max

EDIT:// Ich Vollidiot ... Ich überschreibe durch 'fmCreate' ja den Stream *Bangs his head repeadly against a wall*
Danke auf jeden Fall!
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz