![]() |
que evento usar?
hola gente, tengo el siguiente problema: desde un formulario (form1) uso a otro
(form2). Es decir, en la clausula uses de form1 tengo la unidad de form2. Lo que necesito es, cuando se cierra form2, actualizar informacion en form1 usando informacion de form2. El proceso de actualizacion lo realizo correctamente. Lo que no se es que evento de form1 tengo que usar para poder actualizar esos datos cuando se cierra form2. Me vendrian bien comentarios que no incluyan el uso de referencias circulares. desde ya, muchas gracias! |
Hola...
¿Desde qué evento llamas a Form2 y como llamas a Form2 (Modal, No Modal, es MDIChild)? Si puedes poner el código, mejor... Saludos... |
Cita:
Es decir, Haces el showModal, al cerrar el form2 lo ocultas (Action := caHide en el OnClose), actualizas desde el form1 y luego destruyes el form2. Si no usas ShowModal el problema se complica. En ese caso lo más sencillo es hacer la actualizacion desde el form2 (lo que incluye referencias circulares). Hay otras opciones, pero como te digo son más complejas. Por ejemplo desde el form1 puedes capturar en ejecución alguno de los eventos de cierre del form2 (OnClose, OnDestroy) y asignarles un procedimiento propio. De esta forma cuando "salten" esos eventos le llegará el control a ese procedimiento. |
Hola etioalex.
Si los forms involucrados están corriendo en un mismo equipo, otra manera que se me ocurre es usando FindWindow y el mensaje WM_COPYDATA. Pone esto en el evento OnClose del Form2: Código:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); Código:
TForm1 = class(TForm) |
solucionado!
muchas gracias por las respuestas a todos! ya pude resolver el problema, al final use la propiedad modal result, con el showmodal y andubo todo bien!
saludos! |
La franja horaria es GMT +2. Ahora son las 23:48:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi