Ver Mensaje Individual
  #2  
Antiguo 14-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Reputación: 25
eduarcol Va por buen camino
yo pienso que lo que necesitas es una variable bandera, por ejemplo en el evento beforePrint del componente que posea la imagen colocar(asumiendo que es un qrimage, y el componente padre de este sea un detail):

Código:
//para determinar si se imprime
procedure TReporte1.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
   if VecesImpreso > 0 then
      qrImage1.Picture := Nil;
end;

//para acumular la variable de impresion
procedure TReporte1.DetailBand1AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
begin
   Inc(VecesImpreso);
end;
debes asegurarte que VecesImpreso se inicialize como cero en el create del formulario.

te explico lo que pienso: Al darle un preview al qrreport se ejecutan estos dos eventos, al igual que al enviarlos a imprimir desde el visualizador, el codigo te asegura que la primera vez que se ejecuten los eventos se muestre la imagen pero la segunda vez, no se muestra, eso es lo que nos interesa porq la segunda vezseria la impresion.

ahora en el caso de que envies el reporte directamente a la impresora sin previsualizar, asignale nulo al picture y listo.

Nota: la sentencia "qrImage1.Picture := Nil;" la hice de memoria si esta mal confio que mis amigos del foro me corrijan.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita