Ver Mensaje Individual
  #24  
Antiguo 16-01-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por marto
Es decir, si me están destruyendo, no asignes mi parent al del botón.
Esa es la idea!


Cita:
Empezado por marto
¿Qué tenemos que deducir de eso? que cuando TForm destruye a los Componets les cambia la propiedad Parent (y por eso se dispara el método)?.
En el TControl.Destroy se asigna el Parent a Nil, esto produce que se dispare este método cuando se está destruyendo el componente, despues de hacer el FButton.Free según el código original.


Cita:
Empezado por marto
Otra cosa que no entiendo es ¿por qué el form ha destruído al Button?
En el destructor de los TWinControl se destruyen todos los componentes hijos, relacionados por el parent (Controls)


Cita:
Empezado por marto
Finalmente en lugar de conprobar que no se esté destruyendo el componente, no os parece más elegante comprobar que el boton esté "assigned"??
Bueno.. el código original completo lo había hecho con assigned, pero el problema es que el owner destruye antes a componente, y no lo deja apuntado a Nil (0)... entoces assigned siempre da True, aunque el botón ya no exista.


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita