Announcement

Collapse
No announcement yet.

Probleme mit TBitmap->Assign()

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit TBitmap->Assign()

    Hallo,

    mit dem Code (C++Builder 2009) unten kann ich JPEGs die in einem BLOB-Feld einer
    Firebirddatenbank gespeichert sind in einem TImage anzeigen lassen.

    In mein Projekt möchte ich eine DLL einbinden, die wie das bisherige Prog. die jpeg.hpp (#include <jpeg.hpp>) einbindet. Jetzt erhalte im Code unten in der Zeile "BitmapShow->Assign(jpg);" den Fehler:

    EConvertError mit der Meldung 'TJPEGImage kann nicht zu TBitmap zugewiesen
    werden'

    kommentiere ich #include <jpeg.hpp> in der DLL wieder aus
    funktioniert das Hauptprogramm - BitmapShow->Assign(jpg); wieder
    einwandfrei.

    Hier im Forum gabs dazu schonmal eine Diskussion die mich aber nicht
    weiterbringt.
    http://entwickler-forum.de/showthrea...ghlight=assign

    wie kann ich das Problem Lösen?
    ------------------------------------------------------------------------------------
    TBlobField *blobField = dynamic_cast <TBlobField*> (DataModule1->IBDataSetImg2->FieldByName("Bild"));

    TMemoryStream *memStream = new TMemoryStream;
    blobField->SaveToStream(memStream);
    memStream->Position = 0;
    try {
    TJPEGImage* jpg = new TJPEGImage();
    jpg->PixelFormat = jf8Bit;
    jpg->Performance = jpBestQuality;
    jpg->Smoothing = false;
    jpg->LoadFromStream(memStream);
    jpgwidth = jpg->Width;
    jpgheight = jpg->Height;
    BitmapShow = new Graphics::TBitmap();

    BitmapShow->Assign(jpg);
    ...
    ...
    Zuletzt editiert von hawiwo; 10.11.2010, 15:03.
Working...
X