AGB  ·  Datenschutz  ·  Impressum  







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

EReadError: Stream-Read-Fehler

Ein Thema von Johannes013 · begonnen am 16. Jan 2012 · letzter Beitrag vom 6. Feb 2012
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

AW: EReadError: Stream-Read-Fehler

  Alt 17. Jan 2012, 10:55
Delphi-Quellcode:
var
  filename:string;
...
for nLauf := tStart to tEnd do
begin
  // es ist immer ein gute Idee einen Dateinamen KOMPLETT
  // in einer Stringvariablen zu halten...
  if (FileExists(TexPath[nLauf])) then
     filename := TexPath[nLauf]
  else
     filename := sGUIDir + sMissing;
  TexPic[nLauf] := TBitmap.Create();
  // Hier kann man dann einen Breakpoint setzen und nachschauen
  // welcher Dateiname denn konkret geladen wird
  TexPic[nLauf].LoadFromFile(filename);
end;
Andreas
  Mit Zitat antworten Zitat
Johannes013

Registriert seit: 2. Jun 2009
179 Beiträge
 
Delphi 5 Standard
 
#2

AW: EReadError: Stream-Read-Fehler

  Alt 17. Jan 2012, 16:23
Ok danke für eure Lösungsvorschläge!
sGUIDir ist das Verzeichnis und sMissing ist der Dateiname, das hätte ich vllt schreiben sollen.

Das tritt bei einem Bild mit 2560x1440 Pixeln auf, wenn ich das Bild auf 1920x1080 Pixel verkleinere, läuft alles super...
Aber ich brauche diese Auflösung

Gruß Johannes
Johannes
Der folgende Satz ist richtig.
Der vorherige Satz ist falsch.

Geändert von Johannes013 (17. Jan 2012 um 16:26 Uhr) Grund: Erkenntnis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#3

AW: EReadError: Stream-Read-Fehler

  Alt 17. Jan 2012, 16:40
sGUIDir ist das Verzeichnis und sMissing ist der Dateiname, das hätte ich vllt schreiben sollen.
Das war uns schon soweit klar.

Aber
Dir = das Verzeichnis selber (also ohne ein \ am Ende)
Path = der Pfad-Anteil einer Datei oder eines Unterverzeiczhnisses (mit \ am Ende)

Da Datei = sGUIDir + sMissing , wäre hier also ein "Path" nötig.

Aber egal wie der Name aussieht ... Hat dein sGUIDir denn nun ein \ em Ende?




Nunja, wenn es abhängig von der Bildgröße geht, dann scheint der Pfad ja OK zu sein.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Johannes013

Registriert seit: 2. Jun 2009
179 Beiträge
 
Delphi 5 Standard
 
#4

AW: EReadError: Stream-Read-Fehler

  Alt 17. Jan 2012, 17:01
es hat ein \ am Ende.
Momentan funktioniert alles ohne Exception.

Aber gibt es eine Lösung größere Bilder zu laden?
Johannes
Der folgende Satz ist richtig.
Der vorherige Satz ist falsch.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#5

AW: EReadError: Stream-Read-Fehler

  Alt 17. Jan 2012, 19:16
TBitmap schafft auch größere Bilder (mit genügend freiem RAM locker auch mal 10000x10000x24).

Wie genau lautet denn die Fehlermeldung und an welcher Stelle tritt sie auf?
Und sind deine Arrays auch groß genug?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Johannes013

Registriert seit: 2. Jun 2009
179 Beiträge
 
Delphi 5 Standard
 
#6

AW: EReadError: Stream-Read-Fehler

  Alt 6. Feb 2012, 11:52
Das Array ist groß genug!

Aber die Bilder sind 24-Bit...
Ist das so wichtig?

Gruß Johannes
Johannes
Der folgende Satz ist richtig.
Der vorherige Satz ist falsch.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: EReadError: Stream-Read-Fehler

  Alt 6. Feb 2012, 12:42
TBitmap schafft auch größere Bilder (mit genügend freiem RAM locker auch mal 10000x10000x24).
Nicht als 32-Bit Anwendung selbst mit /3GB-Schalter

Das Problem wird sein das du ab weniger geladener Bilder keinen durchgehenden Adressraum mehr frei hast der deiner Bildgröße (2560x1440*32Bit = 117 MB durchgehender Adressraum nötig). Die ersten Bilder können geladen werden und dann gibts nur noch frei Ram "krümel" wo dazwischen System/Windws-DLL's oder Delphi-Objekt liegen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#8

AW: EReadError: Stream-Read-Fehler

  Alt 6. Feb 2012, 14:23
TBitmap schafft auch größere Bilder (mit genügend freiem RAM locker auch mal 10000x10000x24).
Nicht als 32-Bit Anwendung selbst mit /3GB-Schalter
Wieso? Die knapp 300 MB sollten doch auch bei nur 2GB in den Adressraum passen.

2560x1440*32Bit = 117 MB
Wie kommst du auf 117 MB?

2560 Pixel * 1440 Pixel * 4 Byte (=32 Bit) = 14.745.600 Byte = 14,0625 MB

einbeliebigername.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: EReadError: Stream-Read-Fehler

  Alt 6. Feb 2012, 12:52
Wie genau lautet denn die Fehlermeldung und an welcher Stelle tritt sie auf?
Dem kann ich mich nur anschließen!
(vor allem wenn er beim Lesen einer Datei auftritt, die es gar nicht gibt. Dann gibt's den fehler vielleich auch nicht?)
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 21:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz