Resumiendo sería: "Mas vale prevenir que curar"
Como bien has dicho, la excepción tambien puede ocurrir por otra causa; asumir que se ha producido porque el objeto no esté creado, es demasiado
Cita:
|
Empezado por CelestronFan
pues todos los controles de la forma se crean y asignan en memoria con Application.CreateForm(...
antes de que delphi ejecute Application.run,
|
El form Si se crea con Application.CreateForm, por tanto, pertenece a application y application se encargará de liberarlo.
Un TEdit, colocado en el form1, pertenece al Form, por tanto, al cerrar la aplicación:
- Application manda destruir a todos los Forms que contiene.
- Form1 manda a destruir todos los controles que contiene, entre ellos el Edit
De ahí que todos los objetos que son contenedores, TForm, Tpanel, etc, tengan la propiedad Components y ComponentsCount que es una lista de los controles que ha liberar ese objeto, y el orden en el que se crearon.