PDA

Ver la Versión Completa : Problema al imprimir en un TQRDBImage


santiago14
07-01-2014, 17:59:19
Buenas, tengo un problema para imprimir con un TQRDBImage, me sale el siguiente cartel: Bitmap image is not valid.

A la imagen la tengo como un BLOB en la BD.

La consulta es la siguiente:


Select b.caravana, b.nro_caravana, b.marca_bovino, b.tatuaje, b.cabana,
b.fecha_nacim, b.tipo_bovino, b.sexo_bovino, b.raza,
CAST(b.foto_bovino AS BLOB) AS foto_bovino
From bovinos b
Where ...


Luego, en el evento OnBeforePrint() ...


procedure TfrmInformesGenerales.QuickRep1BeforePrint(
Sender: TCustomQuickRep; var PrintReport: Boolean);
var
nros_caravana:string;
begin
with QuickRep1 do
begin
BuscarPesajesInforme(FpQuery, pLista_nros_caravana.CommaText);

qDBNroCaravana.DataSet:=FpQuery;
qDBCaravana.DataSet:=FpQuery;
qDBTatuaje.DataSet:=FpQuery;
qDBCabana.DataSet:=FpQuery;
qDBFechaNacimiento.DataSet:=FpQuery;
qDBTipoBovino.DataSet:=FpQuery;
qDBSexo.DataSet:=FpQuery;
qDBRaza.DataSet:=FpQuery;
imgDBFoto.DataSet:=FpQuery;


qDBCaravana.DataField:='caravana';
qDBNroCaravana.DataField:='nro_caravana';
qDBMarca.DataField:='marca_bovino';
qDBTatuaje.DataField:='tatuaje';
qDBCabana.DataField:='cabana';
qDBFechaNacimiento.DataField:='fecha_nacim';
qDBTipoBovino.DataField:='tipo_bovino';
qDBSexo.DataField:='sexo_bovino';
qDBRaza.DataField:='raza';
imgDBFoto.DataField:='foto_bovino';
end;
end;


//Desde otro formulario...

with TfrmImpresionPesajes.Create(Application) do
begin

pLista_nros_caravana:=caravanas;

//ReportePesajes.Print;
QuickRep1.Preview;
Free;
end;





Agradecería cualquier ayuda...

ecfisa
07-01-2014, 18:20:31
Hola santiago14.

¿ Que tipo de formato tiene la imágen almacenada en el campo BLOB ?

Saludos :)

santiago14
07-01-2014, 19:33:05
Es formato .jpg

Santiago.

santiago14
07-01-2014, 19:34:18
Espero que este componente no acepte solamente .bmp.
Lo mas extraño es que su primo, TQRImage, acepta tranquilamente el formato .jpg.

Gracias.

ecfisa
08-01-2014, 01:25:16
Hola santiago14.

De ahí venía mi pregunta, por que como ya lo descubriste, tanto el TDBImage como el TQRDBImage sólo aceptan imágenes de mapa de bits.

La solución es usar un TImage o TQRImage actualizándolo en algún evento.

Saludos :)

santiago14
08-01-2014, 01:42:09
Y bueno... habrá que usar TQRImage nomás.

Gracias.

Santiago.