Einzelnen Beitrag anzeigen

Chilled86

Registriert seit: 8. Apr 2007
Ort: Quierschied
17 Beiträge
 
Delphi 2005 Personal
 
#1

Problem beim einlesen einer Datei in einen Stream

  Alt 13. Apr 2007, 10:31
Hi Leute,
hab leider wieder ein kleines Problem. Ich will eine Datei in einen Stream einlesen. Meine Pfadangabe stimmt auf jeden Fall, hab ich bereits gecheckt. Wenn ich es ausführe bekomme ich eine Exception der Klasse ERangeError "Fehler bei Bereichsprüfung". Ich kenne mich mit Streams nicht so gut aus und habe das ganze aus einem Tutorial. Kann mir einer sagen was ich falsch mache?


Delphi-Quellcode:
type
  TDatensatz = record
    ID: integer;
    Name: AnsiString;
  end;
  TDatenArray = array of TDatensatz;




procedure TForm1.Button1Click(Sender: TObject);
var
  Daten: TDatenArray;
  Stream: TStream;
  I: integer;
  Len: LongInt;
begin
  Stream := TFileStream.Create(Sett_QIPPath + '\Users\' + Sett_ICQNumber + '\History\' + HistoryData[2].FileName, fmOpenRead);
  try
    Stream.Read(Len, SizeOf(Len));
    SetLength(Daten, Len);
    for I := 0 to Len - 1 do begin
      Stream.Read(Daten[I].ID, SizeOf(Daten[I].ID));
      Stream.Read(Len, SizeOf(Len));
      SetLength(Daten[I].Name, Len);
      Stream.Read(PChar(Daten[I].Name)^, Len);
    end;
  finally
    Stream.Free;
  end;
  //ShowData(Daten);
end;
Sven Schellberg
  Mit Zitat antworten Zitat