Da ich eine Sammlung von 1:25k-Wanderkarten verschiedener Größe und Auflösung habe, bin ich dabei, einen einfachen Viewer dafür passend zu weiteren eigenen Programmen zu erstellen. Die Karten liegen als 7k x 4.8k- bis 14k x 7.6k-.tif-Bilder vor und decken von 10 x 10 bis 17,5 x 12 km Fläche ab. Mit einem Kartenblatt allein (Map1) funktioniert alles prima, aber wenn ich versuche, eine Anschlusskarte (Map2) dazu zu laden, z.B. weil ein Track in eine Nachbarkarte hineinreicht, bricht das Programm mit einer "readig from $000" -Meldung ab. Lange Zeit habe ich angenommen, dass es am Speicherbedarf liegt, aber das Problem ist bei allen Bildgrößen das gleiche.
Debugger
picture.inc, Zeile 669:
LoadFromStreamWithClass(Stream, indGraphicClassWithFileExt(FileExt));
Stream und FileExt sind noch o.k.
aber nach weitrem Einzelschritt (F7): Access violation reading from $00000...
Was ist da los ?
Dank im Voraus
JK
Zweites TPicture im Programm öffnen
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Zweites TPicture im Programm öffnen
Hi!
Ohne den Source Code ist das Alles rätseln im Dunkeln.
Wohin lädts Du die Tiffs?
In verschiedene Images?
Zeig mal ein bische Code.
Winni
Ohne den Source Code ist das Alles rätseln im Dunkeln.
Wohin lädts Du die Tiffs?
In verschiedene Images?
Zeig mal ein bische Code.
Winni
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Zweites TPicture im Programm öffnen
Hi!
Hast Du vor dem Laden des zweiten Tiffs die Strean.Position auf Null gesetzt?
Winni
Hast Du vor dem Laden des zweiten Tiffs die Strean.Position auf Null gesetzt?
Code: Alles auswählen
Stream.position := 0;
-
- Beiträge: 8
- Registriert: So 17. Apr 2022, 16:23
- OS, Lazarus, FPC: Win10, WinXP (Lazarus 2.2.0)
- CPU-Target: 64 Bit, (32 Bit)
- Wohnort: 30952 Ronnenberg
Re: Zweites TPicture im Programm öffnen
Hi Winni, danke für Deine Antworten. Letztendlich haben sie zur Lösung geführt: Um den von Dir gewünschten Code aufzubereiten, habe ich noch ein Mal genauer hingeschaut. Dabei habe ich eine entscheidende Codezeile nicht gefunden, die whl bei einer vorherigen Aufräumaktion "unter die Räder" geraten sein muß : Map2:=TPicture.Create;
Peilich, aber Shit happens...
Peilich, aber Shit happens...