Zitat von
heiopei:
[...]Wenn ich jetzt aber auch Bilder speichere, dann kommt beim Laden immer eine
AV! Ich hab hier im Forum nur den Hinweis gelesen, dass angeblich LoadFromStream bis zum Ende des Streams ließt. Wenn dem so wäre, ist natürlich klar worans liegt
...
ps: ich hab den code auf das Wesentliche reduziert, das sollte auch die case-schleife und die
Verwendung von TGraphic statt TBitmap erklären...
pps: die anderen Werte schreibe ich mit Zipper.Read(Variable, SizeOf(Variable)) und lese sie so auch
wieder
Du hast dein Problem schon selbst gelöst
Du musst dir zum Bitmap noch irgendwie die Größe merken und gesondert laden.
Grob umrissen:
Delphi-Quellcode:
var
MemStream: TMemoryStream;
Groese: integer;
begin
Entzipper.Read(Groese, sizeof(Groese));
MemStream := TMemoryStream.Create;
MemStream.LoadFromStream(EntZipper, Groese);
MemStream.Position := 0;
Bitmap.LoadFromStream(MemStream);
Also da muss noch try-finally rein, etc dürfte aber das grobe System erklären.