Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TImage32 in ein BlobFeld bringen gelingt nicht (https://www.delphipraxis.net/103600-timage32-ein-blobfeld-bringen-gelingt-nicht.html)

LingNeu 18. Nov 2007 12:34


TImage32 in ein BlobFeld bringen gelingt nicht
 
Hallo Delphifans,
ich habe in einem Programm ein TImage32 in dem ich verschiedene Bilder darstelle.
Jetzt möchte ich das Bild gerne in Blobfeld bringen. Leider erhalte ich die Fehlermeldung, das die Typen nicht verträglich sind. Bei einem normalen TImage scheint es zu gehen.
Vielleicht geht es über die Zwischenablage ?


Delphi-Quellcode:
// so schein es zu gehen, bringt aber nichts, weil es kein TImage32 ist
TdbDaten['bBild'] := Image.Picture.Bitmap;


// das geht nicht in das Blob-Feld rein, da .PICTURE nicht vorhanden
TdbDaten.Insert ;
TdbDaten['cName'] := 'Bild';
TdbDaten['bBild'] := Image32.Bitmap;
TdbDaten.Post;
Danke für jeden Hinweis
LingNeu

Progman 18. Nov 2007 12:40

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
Das Image32.Bitmap ist nicht identisch mit TBitmap. Das wird wohl der Grund sein.

LingNeu 18. Nov 2007 13:52

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
Hallo Progman,
danke für die Info, aber sowas hab ich mir auch schon gedacht.
Leider weiß ich immer noch nicht, wie ich so ein Bild einspeichern kann.
Evtl. gibt es ja Tricks. Jedenfalls im I-Net hab ich nix gefunden.
ciao
LingNeu

Progman 18. Nov 2007 14:10

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
Vielleicht über den Umweg eines normalen TBitmap?
Delphi-Quellcode:
var bm: TBitmap;
  ...
  bm:=Tbitmap.create;
  bm.assign(Image32.Bitmap);
  TdbDaten['bBild'] := bm;
  ...
  bm.Free;
Ist aber nur so eine Idee, ob das so klappt, weiß ich nicht ;)

LingNeu 18. Nov 2007 14:21

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
Hi Progman,
danke Dir für diese Idee. Genausowas hatte ich auch schon probiert -leider ...

Inkompatible Typen 'Variant' und 'TBitmap'

Schade. Das gibt es doch nicht, sowas Einfaches nicht zu finden
ciao
LingNeu

Progman 18. Nov 2007 18:28

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
und den Umweg noch krasser nehmen über ein File?
Delphi-Quellcode:
var bm: TBitmap;
  ...
  Image32.Bitmap.SaveToFile('irgendwas.bmp');
  bm:=Tbitmap.create;
  bm.LoadFromFile('irgendwas.bmp');
  TdbDaten['bBild'] := bm;
  ...
  bm.Free;
  DeleteFile('irgendwas.bmp');
Mehr fällt mir dazu wirklich nicht ein.
Dieses Graphic32 wurde ja auch unter ganz anderen Gesichtspunkten entwickelt.
Davon abgesehen, würde es nicht reichen, nur den Pfad zum Bild und seinen Namen in die Datenbank zu packen?

mkinzler 18. Nov 2007 18:35

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
Dann doch lieber über einen Stream direkt in Blobfeld

LingNeu 19. Nov 2007 10:01

Re: TImage32 in ein BlobFeld bringen gelingt nicht
 
Hallo zusammen,
vielen Dank für Eure Anregungen.
Jetzt habe ich die Sache momentan über das Abspeichern in ein File gelöst, da ich keine Ahnung habe, wie das mit den Streams in ein Blobfeld geht.
Zumindestens geht die Notlösung einigermaßen. Glücklich bin ich zwar auch nicht, aber was nützt es.
Merci nochmals
ciao
LingNeu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz