Autor Beitrag
Chaosworld
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: Fr 24.06.05 21:17 
Ich habe eine Datenbank mit einem Blob-Feld um Grafiken abzuspeichern. Über die zwischenablage kann ich die Bilder einfügen. Mein Problem ist aber, ich kann nicht per Quelltext Bilder einfügen. Ich habe schon hier im Forum gesucht und diese beiden Punke gefunden:
www.delphi-forum.de/...d8134e02a4550e547457
www.delphi-forum.de/...ic.php?p=67933#67933

das hört sich ja interessant an, leider klappen beide Routinen nicht.

Wenn ich eine bmp-datei auswähle klappt es ohne Problem, wenn ich jedoch eine jpg-Dateien damit öffnen will, bekomme ich folgende Meldung: "Bitmap ist ungültig."

Als Datenbank verwende ich Advantage Database System.

Ich hoffe es hat noch jemand eine Idee, wie ich das machen kann, im vorraus Danke für jede Hilfe

Chaosworld
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 25.06.05 12:44 
Die zitierten Beispiele beziehen sich aber auf Interbase ! Hehe, ich weiß schon warum viele das bzw. Firebird benutzen (ich auch). :mrgreen: Du hast bestimmt die kostenlose Advantage Version, ohne Transaktionssteuerung usw. Wenn solch elementare Dinge schon fehlen, dann würde mich nicht wundern, wenn sie bei Blobs auch Einschränkungen machen. Aber das wäre doch in diesem Fall nicht mal schlimm. Warum speicherst Du nicht einfach in der DB nur den Dateinamen ?

_________________
Gruß
Hansa
peter B
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 20.07.05 03:03 
Hallo Chaosworld!

Du schreibst 'Bitmap ungültig'!? Das ist sicher keine Meldung von der Datenbank Engine.
Offenbar verwendets Du irgendwo ein TImage oder Ableger davon.
Klar, wenn Du in Deinem Blob-Feld ein jpg ablegst und das per Stream in ein TIMage.Picture.Bitmap oder so wieder 'reinstreamst' krachts.

Ich mach das so (mit Oracle und Access)
ein jpg Object und ein TStream Objekt anlegen.
Blob-Stream aus dem Dataset erzeugen (CreateBlobStream...)
jpg.LoadFromStream
Image.Picture.Assign(jpg)

dann alles unbenutze wieder lecker freigeben. Vielleicht gehts cooler? Aber so klappte es bisher....

Toi toi
Chaosworld Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: Sa 23.07.05 00:15 
JA
ich habe DBImage verwendet. Danke für den Hinweis, werde ich probieren. Das DBImage noch nicht mal JPEG kann, hätte ich nie gedacht. Ich werde es probieren mit dem Tip:
jpg.LoadFromStream
Image.Picture.Assign(jpg)
Danke

Chaosworld