AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Bilder aus MySQL-Blobfeld anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder aus MySQL-Blobfeld anzeigen

Ein Thema von Biohazard · begonnen am 27. Nov 2003 · letzter Beitrag vom 28. Nov 2003
Antwort Antwort
Biohazard

Registriert seit: 20. Mär 2003
46 Beiträge
 
#1

Bilder aus MySQL-Blobfeld anzeigen

  Alt 27. Nov 2003, 12:55
Hallo,

Habe eine MySQL-Tabelle in der ein Blob-Feld liegt. Dort sind einige Bilder gespeichert. Die Tabelle wurde aus einer Paradox-Tabelle importiert.
Nun versuche ich auf diese zuzugreifen. Dafür verwende ich die ZEOS-Komponente.

Nun bekomme ich den Fehler: "Ungültige Typumwandlung".

Versuche ich die Eigenschaft "Datatype" des Feldes bei den FieldDefs von ftBlob auf ftGraphic zu ändern geht das auch nicht (Springt immer wieder zurück auf ftBlob). Änder ich es in dem Feldeditor (oder wie das Ding heißt) dann erscheint wieder ein Fehler.

Hat da jemand ne Ahnung ob da noch was eingestellt werden muß oder was das evtl. falsch läuft?

Muß man das evtl. schon irgendwie in MySQL festlegen? Glaub ich jedenfalls nicht. Schau ich mir die Datensätze z.B. mit myAdmin an, werden die Bilder gezeigt. Kann also kein DB-Problem sein.
  Mit Zitat antworten Zitat
Biohazard

Registriert seit: 20. Mär 2003
46 Beiträge
 
#2

Re: Bilder aus MySQL-Blobfeld anzeigen

  Alt 28. Nov 2003, 09:17
Habe jetzt herausgefunden wo der Fehler passiert nur leider weiß ich nichts damit anzufangen:


Wenn das Feld Icon kommt soll er in das Grid ein Bild zeichnen.
Code:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 with TDBGrid(Sender), Column.Field do
      If (Fieldname='Icon') then
         Draw_CellIcon(Canvas, Rect, Column.Field)
      else
         DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Hier passiert die Umwandlung.
Code:
procedure TForm1.Draw_CellIcon(cnv: TCanvas; Rect: TRect; Feld: TField);
var Bmp: TBitmap;
begin
   Bmp:= TBitmap.Create;
   Bmp.LoadFromstream(TBlobStream.Create(TBlobField(Feld), bmRead));
   Cnv.Draw(Rect.left, Rect.top, Bmp);
   Bmp.Free;
end;
Hier kommt der Fehler "Ungültige Typumwandlung" in der Zeile Bmp.LoadFromstream(TBlobStream.Create(TBlobField(F eld), bmRead));
Nur leider Weiß ich nicht was da geändert werden soll. Bei der Paradox-Version des Progs geht es, bei der MySQL-Version nicht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 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