![]() |
Datenbank: Acess • Version: 2010 • Zugriff über: ADO
JPEG in TImage laden
Hallo habe schon viel rumgesucht aber leider keine Lösung gefunden. Ich habe in meiner Datenbank JPEG Bilder als Blob gespeichert. Das schreiben über Delphi funktioniert auch schon. Nun will ich aber die Bilder auch anzeigen lassen und habe folgendes versucht:
Delphi-Quellcode:
Das Programm kompillert auch aber wenn ich den Button klicke kommt immer folgende Fehlermeldung: 'JPEG-Fehler#42'
procedure TForm1.Button2Click(Sender: TObject);
var blob : TMemoryStream; BlobField: TBlobField; jpeg : TJPEGImage; bmp : TBitmap; begin blob := TMemoryStream.Create(); jpeg := TJPEGImage.Create; // bmp := TBitmap.Create; with ADOTable1 do begin blob.Clear; try begin BlobField := FieldByName('Bild') as TBlobField ; blobfield.SaveToStream(blob); jpeg.LoadFromStream(blob); // bmp.Assign(jpeg); Image1.Picture.Assign(jpeg); end; finally blob.free; jpeg.free end; end; EDIT: Besser so? Hab das Problem leider immer noch... |
AW: JPEG in TImage laden
Hast du Jpeg in die Uses aufgenommen?
BTW: Bitte verwende für Delphi-Quellcode Delphi-Tags |
AW: JPEG in TImage laden
Kein Ressourcenschutzblock, keine Fehlerbehandlung mit Try-Except, kein Freigeben der belegten Ressourcen,... Mach erst mal die Fehler raus. Dann können wir weiter sehen.
|
AW: JPEG in TImage laden
habs editiert. Weiß aber immernoch nicht wo das Problem liegt.
jpeg unit ist auch eingebunden. |
AW: JPEG in TImage laden
Delphi-Quellcode:
var
s:TMemoryStream; i:TJPEGImage; begin i:=TJPEGImage.Create; s:=TMemoryStream.Create; try TBlobField(dBild).SaveToStream(s); if s.Position > 0 then begin s.Position := 0; try i.LoadFromStream (s); Image2.Picture.Assign(i) ; except end; end; finally s.Free; i.Free end; end; |
AW: JPEG in TImage laden
Danke!
Das hat jetzt erstmal geklappt. Jetzt hab ich aber ein anderes Problem: Ich will das Bild auf einem DBCtrlGrid anzeigen. Dort werden gleichzeitig 3 Datensätze angezeigt Wie bekomm ich es hin, dass beim Start bei allen das richige Bild angezeigt wird? Bisher hab ich die Bilder in DataSource DataSetChange Event geladen. Aber dann stimmt erst alles wenn ich alle Datensätze durchgeklickt habe. |
AW: JPEG in TImage laden
Verwende
Delphi-Quellcode:
Btw.: Eigentlich gilt ja: "Neue Frage, neuer Thread"
TDBImage
|
AW: JPEG in TImage laden
das ist ja das Problem. Wie ich gelesen habe kann TdbImage keine jpeg Dateien laden. Hab das auch versucht aber scheint wirklich nicht zu funktionieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz