Estoy usando este código que me facilitaron en otro foro:
Código:
TJPEGImage* __fastcall BlobToJpg(TBlobField *CampoBLOB)
{
if(!CampoBLOB->Value.IsEmpty())
{
TJPEGImage *JPeg = new TJPEGImage;
TMemoryStream *StreamTmp = new TMemoryStream;
CampoBLOB->SaveToStream(StreamTmp); //sacamos el jpg y se convierte a stream
StreamTmp->Seek(0,soFromBeginning);
JPeg->LoadFromStream(StreamTmp);
return(JPeg);
}
else
return(NULL);
}
para poder sacar imágenes desde una tabla Firebird. Siguiendo las instrucciones del autor trato de cargar la misma en un objeto TImage de la siguiente forma a partir de un query:
Código:
Imagen->Picture->Assign(::BLOBtoJPG(Query->FieldByName("Imagen")));
pero tanto con esta sintaxis como de esta otra forma:
Código:
Imagen->Picture->Assign(::BLOBtoJPG(Query->FieldByName("Imagen")->Value));
En ambos casos me da error al compilar; en el primer caso me dice:
Cita:
E2034 Cannot convert 'TField *' to 'TBlobField *'
|
y en el segundo algo parecido:
Cita:
E2034 Cannot convert 'Variant' to 'TBlobField *'
|
¿Alguna idea para resolver el problema?