PDA

Ver la Versión Completa : Problema con Fast Report 3 al pasar variables


AFilth
21-10-2005, 18:59:07
Hola, me he quedado atascado con los dichosos informes...
Dentro del Report me creo 2 variables q las calcularé a partir de los resultados q llevo en una query.

En el código del programa hago lo sgte:

procedure TFFRVentas.ReportGetValue(const VarName: String;
var Value: Variant);
begin
if VarName = 'FechaHora' then
value := AMDToFechaHoraLegible(QueryVentas.FieldByName('FECHA').AsString)
else if VarName = 'TipoPago' then
value := ConvertirTipoPago(QueryVentas.FieldByName('TIPOPAGO').AsInteger);
end;

Todo parece q va bien, pero cuando va a generar el informe da un error y dice:

'Memo12. Error in expresion ":Expresion expected'.

Alguien sabe a q puede ser debido?
Está claro q entra en ese método con una cadena vacía y por eso no devuelve nada, pero pq entra y como hacer q sólo entre cuando calcula una de esas dos variables??

Gracias.

Pere Puig
21-10-2005, 20:18:46
1.- Creo recordar que los nombres de variables del FR3 son sensibles a mayusculas.

2.- Prueba a terminar el "if then" con una linea como la que sigue...

Else showmessage('Falta variable "'+VarName+'"');

... de este modo si te has olvidado de alguna variable te avisará.

3.- Como es sensible a mayusculas utiliza sentencias como esta...

else If SameText(VarName,'Titulo') then

... asi evitas la posibilidad de equivocarte.

Espero haberte ayudado.

AFilth
22-10-2005, 13:34:30
Hola, gracias por tu ayuda pero sigo igual, como comentaba antes, el problema es q se me mete en el metodo ReportGetValue en cuanto pongo una variable, pero se mete con una cadena vacía '' y entonces da error aunke el código no da lugar a ese error puesto q si entra algo vacío no devuelvo nada.

AFilth
24-10-2005, 15:33:31
No doy con la solución por más q he buscado...nadie usa el fastreport 3 con delphi 7???

VIRU
07-04-2006, 02:49:59
bueno a mi me dio ese un problema parecido es la primera vez que utilizo fastreport y estoy con delphi 2006, en fin me daba ese error porque la variable estaba mal escrita, pero aunque la escribi bien y le paso los datos a mostrar no me muestra absolutamente nada en el reporte es como si no le pasara nada... alguna idea...

pescriba
10-08-2012, 11:15:43
Yo uso este código y me funciona bien

procedure TfrmInformes.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin

if AnsiCompareText(VarName,'NombreDeVariableEnElInforme') = 0 then
Value := ValorACopiar;

end;

Es decir, si el nombre de la variable coincide con el deseado se copia en Value el valor deseado. ValorACopiar es un STRING!

Casimiro Notevi
10-08-2012, 13:26:27
Has contestado un hilo de hace más de 6 años.

Por cierto, recuerda poner los tags al código fuente, ejemplo:

http://neftali.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)