![]() |
AW: Aus TurboDB Blob in Stream schreiben
Wird es so besser?
Delphi-Quellcode:
Grüße
J := TJPEGImage.Create;
ms.seek(0,soFromBeginning); // oder ms.position :=0 J.LoadFromStream(MS); Form3.Image1.Picture.Assign(J); Klaus |
AW: Aus TurboDB Blob in Stream schreiben
Zitat:
Ein
Code:
bringt auch keine Besserung.
(FindField('BLOB1') As TBlobField).SaveToStream(MS);
ms.Position := 0; // <<<< J := TJPEGImage.Create; J.LoadFromStream(MS); Form3.Image1.Picture.Assign(J); // Hier tritt der Zugriffsfehler auf Thx für die Mühen =) |
AW: Aus TurboDB Blob in Stream schreiben
.. sollte aber eigentich funktionieren.
Im Stream befindet sich ein jpg Image? Ist der Stream o.k. - sind darin Daten vorhanden? eventuell noch eine Fehlerbehandlung einbauen
Delphi-Quellcode:
Grüße
(FindField('BLOB1') As TBlobField).SaveToStream(MS);
ms.Position := 0; J := TJPEGImage.Create; try try J.LoadFromStream(MS); Form3.Image1.Picture.Assign(J); except on E:Exception do showMessage(E.Message); end; finally j.free; end; Klaus |
AW: Aus TurboDB Blob in Stream schreiben
Existiert das Formular bzw. das TImage auch zu diesem Zeitpunkt? Ich finde den hartkodierten Zugriff auf VCL-Controls in diesem Kontext etwas unglücklich, zumal da auch noch mit benannten Instanzen hantiert wird.
|
AW: Aus TurboDB Blob in Stream schreiben
Zitat:
Zitat:
Code:
direkt rausspringt.
Form3.Image1.Picture.Assign(J);
Daten befinden sich im Stream. Ein ShowMessage(IntToStr(MS.Size)); gibt mir den Wert 777835 zurück. realistisch? Wie kann ich dem TImage verklickern, dass da ein JPEG ankommt, oder liegt da nicht der Hase im Pfeffer?+ edit:
Code:
speichert mir die File auf C. D.h. der Stream ist korreckt und das Bild ist im TJpegImage angekommen.
J.LoadFromStream(MS);
J.SaveToFile('C:\test.jpeg'); |
AW: Aus TurboDB Blob in Stream schreiben
Zitat:
ein verwertbare Fehlermeldung dabei herauskommen würde. Das TImage weiß das ein jpg hereinkommt, Du übergibst ja die jpg Instanz. Grüße Klaus |
AW: Aus TurboDB Blob in Stream schreiben
Habs, danke an alle.
Der Code in der Klasse.
Code:
Der Code vom Formular
FBLOB1 := TMemoryStream.Create;
(FindField('BLOB1') As TBlobField).SaveToStream(FBLOB1); FBLOB1.Position := 0;
Code:
Im Endeffekt lag es dadran, dass ich aus der Klasseunit heraus irgendwie nicht Image1 befüllen konnte. kA warum.
T := TTEST1_tdb.create;
T.ID := 8; T.Load; J := TJpegImage.Create; J.LoadFromStream(T.BLOB1); Image1.Picture.Assign(J); FreeAndNil(J); FreeAndNil(T); |
AW: Aus TurboDB Blob in Stream schreiben
Weil du nicht wahr haben willst, was andere dir hier schreiben.
Stichwort Casten: "Nö, ich muss nicht casten" - Lösung: Casten :roll: Stichwort Direkter Zugriff auf eine Komponente: "Nö, da ist alles da" - Lösung: Ohne direkten Zugriff :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 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