PDA

Ver la Versión Completa : de lo raro , no se que titulo ponerle..( blanqueo de TEdits..podria ser)


ingel
12-12-2005, 15:52:05
Hola y disculpas ..
Intente por todos los medio de evitar enviar este hilo (porque estimo deberia ser alguna tontera ..) , pero hace 3 dias que vengo luchando y no doy con el problema..

Tengo un Form con 3 o 4 Tedits en lo que se ingresan datos..
Al Confirmar el Form se envia una impresion ( qreport muy simple que solo
imprime un recibo con texto y 2 o 3 variables)
el problema es que al VOLVER del la linea que manda el PRINT los valores de los tEdit.text ESTAN TODOS en VACIO..

pasan por ejemplo de :

eVar.Text :='D' a eVar.Text :='' TODOS LOS TEDIT

// .. antes del try vale 'D'

try
QuickRep1.Print;
except
messagedlg('Error al imprimir el recibo.',mterror,[mbok],0);
end;

// al VOLVER del print vale '' .

en el form del report no ejecuta ningun evento..

(y para completarla debugeandolo ME CONSERVO los valores )
realmente no tengo idea que puede ser , se que no hay demasiados datos para evaluar .. agradeceria cualquier sugerencia o si puedo ampliar algo para aclarar ..

Saludos y gracias
Ingel

delphi.com.ar
12-12-2005, 16:55:48
Un par de preguntas: ¿El TForm contenedor de los TEdits nunca se destruye?... ¿Estas seguro que haces referencia al mismo form y no a uno nuevo que se asigno a la misma variable?.. ¿Obtenes los datos de Self (implícita o explícitamente)?

ingel
12-12-2005, 17:08:01
Federico , gracias por tu pronta respuesta ,el form que llama la impresion es fAbmMov que se crea y destruye en el FMain (menu principal), esta es la llamada :

with FAbmMov do begin
case ShowModal of
idok:begin
//-- este es UNO de los TEdit del form FAbmMov que viene ''
if eRelacionadoCon.Text = 'D' then sTipoMov := '11-DI';
end;

idCancel : begin
bCancelarclick(self);
end;
end;
end;


y dentro del Fabmmov hay un procedimiento imprimir que hace esto al ser llamado por el boton confirmar del form :

Application.CreateForm(TFimpReciGral,FimpReciGral);
with FimpReciGral do begin
Q1.print;
free;
end;

luego del print tengo todos los edits en '' ....

Gracias ... saludos
Ingel

delphi.com.ar
12-12-2005, 17:19:36
Mmmm.. muy sospechoso... ¿Dentro del TFimpReciGra no haces referencia a FAbmMov?
¿Dónde creas FAbmMov?
PD: Te recomiendo poner tu código en el foro dentro de los marcadores [delphi]

ingel
12-12-2005, 17:22:21
Como era de suponer .. era una tontera .. (mia por supuesto )
el hecho es que por algun motivo inicialice las variables en el evento
FormActivate y al volver de la impresion pasaba nuevamente por ahi ...
(algo que desconocia , pense que solo lo hacia al hacerce el show)
Perdon ..saludos y gracias
Ingel

jachguate
12-12-2005, 19:17:47
Como era de suponer .. era una tontera .. (mia por supuesto )
el hecho es que por algun motivo inicialice las variables en el evento
FormActivate y al volver de la impresion pasaba nuevamente por ahi ...
(algo que desconocia , pense que solo lo hacia al hacerce el show)
Perdon ..saludos y gracias
Ingel

Para eso está el evento OnShow, que se dispara cada vez que se muestra la ventana (bien porque esté oculta y se llame a su método show) o bien porque se crea (en el caso de las formas MDI Child).

El OnActivate, como su nombre lo indica, se dispara cada vez que la forma se activa, es decir, que no ha tenido el foco y lo toma.

Hasta luego.

;)