Zweites TPicture im Programm öffnen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Jokra
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

Zweites TPicture im Programm öffnen

Beitrag von Jokra »

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

Benutzeravatar
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

Beitrag von Winni »

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

Benutzeravatar
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

Beitrag von Winni »

Hi!

Hast Du vor dem Laden des zweiten Tiffs die Strean.Position auf Null gesetzt?

Code: Alles auswählen

Stream.position := 0;
Winni

Jokra
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

Beitrag von Jokra »

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...

Antworten