![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Ahora yo.
El Close no tiene efecto en el onActivate, porque la forma modal no ha entrado en el ciclo que hace HandleMessage. Pues, como exponen los compañeros del foro, por definición las formas modales no están para comportarse así. De todas maneras y según entiendo, hay dos opciones prácticas para "forzar" esto, que a la larga pueden ser similares, pero Ud. escoge:
__________________
"constructive mind, destructive thoughts" |
|
#2
|
||||
|
||||
|
Cita:
La llamada a Show generará el evento OnShow mientras que el mensaje CM_ACTIVATE generará el evento OnActivate, antes de entrar al ciclo repeat-until, como bien señala nuestro amigo TOPX. Ese ciclo sólo termina cuando el valor de ModalResult es distinto de cero y aunque Close lo que hace es poner ModalResult en mrCancel (<> =0), lo hace antes de la inicialización a cero de la variable justo antes de comenzar el ciclo. Ahora bien, si se insiste en dejar el proceso de descarga en el formulario modal, entonces pueden usar el método del AfterShow. Aquí un ejemplo:
PostMessage coloca un mensaje en la cola de mensajes de la aplicación, que no se procesará sino hasta que -justamente- se entre al ciclo de mensajes y HandleMessage lo tome. Trasladamos entonces, todo el proceso al manejador del mensaje que mandamos, en donde ya se puede usar Close sin ningún problema. // Saludos |
|
#3
|
||||
|
||||
|
Uff bastante información me habeis reportado, creo que voy a necesitar reflexionar un poco para comprender todo lo expuesto y actuar en consecuencia, aunque lo mas facil que veo es la primera opcion, dejar el trabajo duro al formulario princial como dice roman... es lo mas facil aunque me entran ganas de investigar todo lo que me habeis expuesto como el aftershow que no conocia hasta ahora...
Voy a investigar un poco y os cuento, muchas gracias por vuestra ayuda, ya he aprendido otra cosa más hoy ![]()
__________________
Borland Delphi XE2 // Interbase Server |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| TClientDataSet problemas open-close | delphijm | Conexión con bases de datos | 2 | 26-05-2008 03:16:37 |
| Close Querys | Loviedo | Firebird e Interbase | 2 | 30-06-2005 23:39:33 |
| Self Close | Telmito | Varios | 3 | 06-01-2005 17:05:41 |
| Application.Terminate Vs Close | neon | Varios | 2 | 30-07-2004 00:11:55 |
| Refresh contra close-open | AbcXxx | Firebird e Interbase | 3 | 18-06-2003 17:45:20 |
|