![]() |
Überprüfen ob Stream aus BMP leer ist
Ich speichere mit folgender Codesequenz Bilder aus einem TImage in BLOP Felder einer MSSQL Datenbank
Delphi-Quellcode:
// save the Image data to the Blob Field BLobField1 := ADOTable.FieldByName('Image1') as TBlobField; BLobField2 := ADOTable.FieldByName('IMage2') as TBlobField; // Img1_stream := TMemoryStream.Create; img2_stream := TMemoryStream.Create; aImage.Picture.Bitmap.SaveToStream(Img1_stream); bImage.Picture.Bitmap.SaveToStream(Img2_stream); SaveBMPToTable(ADOTable, BLobField2, Img2_stream ); SaveBMPToTable(ADOTable, BLobField1, Img1_stream ); In beiden TImage Komponenten ist ein Bild auf meinem Formular sichtbar. Leider kann ich nur das eine Bild speichern , der Stream im zweiten Bild scheint leer zu sein. Da ich den ersten Stream in beide Blop Felder meiner DB schreiben kann schließe ich einen Fehler in der Funktion SaveBMPToTable aus. Irgendeine Idee für diesen Fehler ? |
AW: Überprüfen ob Stream aus BMP leer ist
Sind das auch beides wirklich Bitmaps? Aus der Hilfe zu TPicture.Bitmap:
Zitat:
|
AW: Überprüfen ob Stream aus BMP leer ist
Ok, ich male des fragliche Bild mit canvas.male_etwas.... selbst, habe damit nicht automatische eine BMP ?
|
AW: Überprüfen ob Stream aus BMP leer ist
Auf den Canvas des TImage? IIRC ist das dann tatsächlich eine Bitmap.
|
AW: Überprüfen ob Stream aus BMP leer ist
in besagtes Image2 kopieren das Ergebnis unserer malaktion mit folgender Codezeile :
Delphi-Quellcode:
Image2.Picture.BitMap.Assign(MyClass.MyImage); MyClass.MyImage ist vom Datentyp TBitmap. Das Bild wird richtig angezeigt. |
AW: Überprüfen ob Stream aus BMP leer ist
Du hast also eine Klasse, die eine Bitmap enthält, malst auf dieser herum, kopierst sie anschließend in das TImage und willst dann dessen Bitmap in der DB ablegen, richtig? Eigentlich müsste das funktionieren.
|
AW: Überprüfen ob Stream aus BMP leer ist
Danke, dein Statement ist komplett richtig, nur will sich der Fehler leider nicht zeigen :evil:
|
AW: Überprüfen ob Stream aus BMP leer ist
Hast Du Dir einmal die Größe der Streams ausgeben lassen? Wenn der zweite tatsächlich leer ist, muss Stream.Size ja 0 sein.
|
AW: Überprüfen ob Stream aus BMP leer ist
Analysergebnis:
stream.size ist definitiv ungleich NULL, kann es sein irgendwo wird mein Stream nicht als BItmap interpretiert ? |
AW: Überprüfen ob Stream aus BMP leer ist
Aber wo sollte das interpretiert werden? TMemoryStream und TBLOBField hantieren ja IIRC mit Rohdaten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 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