AGB  ·  Datenschutz  ·  Impressum  







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

EReadError bei Reader.ReadListBegin

Ein Thema von EccoBravo · begonnen am 1. Mär 2006 · letzter Beitrag vom 1. Mär 2006
Antwort Antwort
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

EReadError bei Reader.ReadListBegin

  Alt 1. Mär 2006, 16:32
Hallo habe mal wieder ein Problem.
Habe bestimmt 1000x diese Sequenz programmiert und vorher nie Schwierigkeiten damit gehabt,
Ich will beim Starten einer Anwendung ein Konfigurationsfile laden und er macht dabei einen Laufzeitfehler :

Delphi-Quellcode:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
procedure TForm1.FormCreate(Sender: TObject);
var
    Stream : TStream;
    Reader : TReader;
    i,j : integer;
    Setup : array[1..150] of string;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
begin
    Stream:=TFileStream.Create(SetupVerzeichnis+SetupDatei,fmOpenRead);
    Reader:=TReader.Create(Stream,2048);
    Reader.ReadListBegin; // ** und hier macht er einen ExceptionFehler
    for i := 1 to 150 do
    begin
        Setup[i]:=Reader.ReadStr;
    end;
    Reader.ReadListEnd;
    Reader.Free;
    Stream.Free;

    pGrad:= StrToInt(Setup[3]);
    for i := 0 to 9 do
    begin
        pKoef[i]:= StrToFloat(Setup[4+i]);
    end;
    for i := 1 to 26 do
    begin
        EFilm.Werte[1,i]:= StrToFloat(Setup[20+i]);
        EPlan.Werte[1,i]:= STrToFloat(Setup[70+i]);
        Werte[i]:= StrToFloat(Setup[120+i]);
    end;

end;

Die Fehlermeldung lautet:
"Im Projekt EB_Project.exe ist eine Exception de Klasse EReadError aufgetreten. Meldung: 'Ungültiger Eigenschaftswert'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen."

Kennt jemand soetwas und/oder hat jemand eine Idee?

Danke

E. B.
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#2

Re: EReadError bei Reader.ReadListBegin - anders gefragt..

  Alt 1. Mär 2006, 17:52
Hallo hier bin ich nochmal und möchte die Frage anders stellen:

Wie muß die mit TWriter.WriteString abgelegte String-Variable sein,
daß TReader.ReadString diese als vaString / vaLString erkennt, und nicht EReadError auslöst?

Habe die Schreib - und Lese -Routinen auch mit Integer und Single versucht, hier auch EReadError bekommen - irgend was ist faul!
Ich habe sonst meinen Datenkram über Streams gemacht und nie Probleme gehabt!!
Bin verärgert, da bleibt man bei soch banalem Zeug hängen.

Ich will schon meinen weiteren Dateikram schon über Streams machen, weil das auch mein bisheriger Standard war - "Streams of StringArray's".

Danke für Hilfe

E. B.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: EReadError bei Reader.ReadListBegin

  Alt 1. Mär 2006, 18:40
Hallo E.

der von dir beschriebene Fehler wird wohl von dir beim Erstellen der Datei verursacht. Vermutlich wird die Methode WriteListBegin nicht korrekt ausgeführt. Ansonsten schlage ich noch folgende Änderung vor:

Delphi-Quellcode:
// ...
// ich gehe bei Setup von einer TStringList aus
Setup.Clear;

Reader := TReader.Create(Stream,2048);
with Reader do
begin
  ReadListBegin;
  while not EndOfList do
    Setup.Add(ReadString); // nicht ReadStr() benutzen, siehe OH
  ReadListEnd;
  Free;
end;

// ...
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#4

Re: EReadError bei Reader.ReadListBegin

  Alt 1. Mär 2006, 19:04
Danke,

was kann ich denn zum richtigen funktionieren von WriteListBegin tun?

E. B.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: EReadError bei Reader.ReadListBegin

  Alt 1. Mär 2006, 20:22
Keine Ahnung was du beim Schreiben eventuell falsch machst - ich kenne deinen Code ja nicht.

marabu
  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 04:12 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