Hallo zusammen,
ich versuche gerade ein PNG-Bild, welches in einem BLOB-Feld einer Datenbank liegt, in eine Image-Komponente zu bekommen. Die Image-Komponente kann auch PNG darstellen, das Laden eines PNG-Bildes mittels
OI funktioniert jedenfalls problemlos. Speichere ich das Bild
in einem FileStream und speicher es, dann kann ich es auch problemlos öffnen, also am Zugriff auf die
DB oder an einem "korrupten" Header scheint es nicht zu liegen. Nach dem Aufrufen der Funktion erhalte ich eine Zugriffsverletzung...
Delphi-Quellcode:
var
BlobStream: TStream;
aq : tabsquery;
begin
aq := tabsquery.Create(nil);
aq.DatabaseName := 'xyz';
aq.SQL.Add('SELECT bild FROM tbltest WHERE id = 1');
aq.Open;
BlobStream := aq.CreateBlobStream(aq.FieldByName('bild'),bmRead);
ImageAnswer.Picture.Graphic.LoadFromStream(BlobStream); // liegt auf der Form!!!
BlobStream.Free;
aq.Close;
aq.Free;
end;
Kann sich jemand vorstellen, warum das nicht funktioniert???
Danke im Voraus,
Michael