PDA

Ver la Versión Completa : Evento Prepare de Quick Report


GerTorresM
18-04-2010, 04:08:01
Hola a todos:


La situación que se me presenta en el día de hoy es la siguiente.

Estoy desarrollando en Delphi 6 un reporte utilizando Quick Report 3.0, bien en orden de ideas deseo poder colocar en el pie de pagina del reporte el total de páginas que tiene el mismo, para el efecto encontre que puede obtener dicha total ejecutando previamente el metodo Prepare y guardando el pageCount en una variable integer


try
FRepFacturaBancos_local:= TQRReporteFactura.Create(self);
FRepFacturaBancos_local.Prepare;
TotalPaginas:= FRepFacturaBancos_local.QRPrinter.PageCount;
FRepFacturaBancos_local.Preview;
finally
FreeAndNil(FRepFacturaBancos_local);
end;


y en orden de ideas funciona, per la cosa es la siguiente, ahora intento tengo un reporte con las caracteristicas del aplicativo y he creado una clase que hereda de la clase padre por definirla de alguna forma; en la clase padre he sobre escrito el creador y el destructor pero al intentar sobre escribir el metodo prepare para almacenar en una varibale local que pueda utilizar en QRLabel para el total de páginas obtengo el siguiente mensaje


procedure TQRRepBaseReporte.Prepare;
begin
inherited;

end;


UrepBaseReporte.pas(34): Cannot override a static method


en orden de ideas si alguien tiene una mayor documentación del método le agradeceria si me la puede facilitar.

rgstuamigo
27-04-2010, 22:30:34
Ese error ocurre cuando queremos sobreescribir(override) un método heredado que no ha sido declarado vitual en la clase padre, en otras palabras solo se pueden sobreescribir usando la palabra reservada override aquellos metodos que han sido declarados virtual en la clase ancestra.
Para solucionar ese problema tan solo quita la palabra reservada Override de la declaración del método prepare que éstas tratando de sobreescribir.;)
TIP: Cuando tengas algun error de compilación y no entiendas cuál es la causa del error pues sencillamente selecciona el error en la ventanita donde se lista todos los errores de compilacion y luego presiona F1 y verás que delphi te manda a una página de la ayuda donde te explica la causa del error, e incluso te pone algunos ejemplos y como deberías solucionarlo.;).Al menos en Delphi 7 funciona así, desconosco si en las últimas versiones tambien lo sigue haciendo.:rolleyes:

Saludos...:)
PD:1000:eek::D