FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Evento que no espera
¡Buennaaaasss ! Tengo el siguiente procedimiento. Mi problema es que durante FOnBorrarClic(Self), se destruye el componente que lanza el evento, lo que me deja el programa colgado porque intenta seguir la línea de ejecución de un elemento que ya no existe.
Lo que quiero es que cuando llame a FOnBorrarClic(Self), no se quede esperando a que finalice, ¿es esto posible? Supongo que no, pero me hace falta porque el componente no lo he diseñado muy bien ( ahora me doy cuenta claro). procedure TVarPanel.BorrarClic(Sender:TObject); begin //si el usuario ha asignado algo al evento onclick pues se ejecuta if Assigned(FOnborrarclic) then FOnBorrarClic(Self); end; |
#2
|
||||
|
||||
Cita:
En ejecución normal ésta propiedad estará vacía, cuando el componente se está destruyendo debería contener el valor: csDestroying Échale un vistazo a la ayuda y verás el resto de posibilidades.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Ya esta solucionado
Bueno, resulta que lo que yo pretendía no se puede hacer. He optado por rediseñar el componente porque estaba mal hecho.
No os recomiendo destruir desde un manejador de evento, el objeto que lanzó dicho evento. Lo raro es que algunas veces funcionaba y otras no. En fin, doy por finiquitado el asunto. Gracias por tu interés Neftali . |
|
|
|