Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-10-2004
Juditia Juditia is offline
Registrado
 
Registrado: oct 2004
Ubicación: Aretxabaleta (Gipuzkoa)
Posts: 2
Poder: 0
Juditia Va por buen camino
Talking 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;
Responder Con Cita
  #2  
Antiguo 14-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Juditia
Lo que quiero es que cuando llame a FOnBorrarClic(Self), no se quede esperando a que finalice, ¿es esto posible?
No he acabado de entender muy bien lo que necesitas (lo de que no se espere a que finalize), de todas formas puedes echerle un vistazo a la propiedad ComponentState del componente que estás borrando; Aparecen una serie de estados que tal vez te puedan servir para hacer comprobaciones;
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.
Responder Con Cita
  #3  
Antiguo 14-10-2004
Juditia Juditia is offline
Registrado
 
Registrado: oct 2004
Ubicación: Aretxabaleta (Gipuzkoa)
Posts: 2
Poder: 0
Juditia Va por buen camino
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 .
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:09:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi