Folgendes Problem:
Ich habe eine Server - Clientanwendung
Am Server wird ein Bild geladen und das via
Tcp zum Client gesendet und soll dann in einem TImage angezeigt werden.
So weit so gut, unter Windows funktioniert das ganze tadellos nur unter Android gibts ein Problem.
Beim Laden des Bildes mit image1.Bitmap.LoadFromStream(aFileData); kommt es zu folgenden Fehler
"Das Projekt hat die
Exception-Klasse Segmentation fault(11) ausgelöst." und danach kommt
"Im Projekt ist eine
Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 9CC26762 beim Zugriff auf Adresse 00000000 aufgetreten."
Hintergrund:
Die Bilddaten werden als String durch die Gegend gesendt und die schauen im Debuger und Android eigentlich gut aus.
Ich habe jetzt folgendes versucht.
1. Die Bilddaten zurück auf den Server gesendet und dort abgespeichert. Eregebnis: OK. Das Bild passt
2. Die Bilddaten lokal am Android-Device gespeichert. Ergebnis: Schrott. Die Datei kann mit dem internen Android-Bildbetrachter nicht angezeigt werden.
Scheinbar habe ich da ein Problem mit den Strings. Nur wie könnte ich das lösen
Delphi-Quellcode:
var
szScanData : String;
szScanData := GetScanData;
aFileData := TStringStream.Create(szScanData);
aFileData.Position := 0;
image1.Bitmap.LoadFromStream(aFileData);