PDA

Ver la Versión Completa : Creacion de Formularios.


look
14-08-2008, 23:38:32
hola amigos, me gustaria saber la diferencia entre estos:


Form1 := TForm1.Create(Application);

Form1 := TForm1.Create(nil);

Form1 := TForm1.Create(self);



y en que momento seria recomendable el uso de estos.:)

dec
14-08-2008, 23:43:31
Hola,

El constructor que usas necesita como argumento un "dueño" ("Owner") para el formulario. Este "dueño" será el encargado de liberar el formulario, cuando el propio dueño tenga que ser liberado.

Por lo tanto, en el primer caso asignas como dueño del formulario al objeto "Application", y, cuando este se libere, se encargará de liberar también el formulario.

En segundo caso no asignas ningún dueño para el formulario, y, así tendrás que ser tú mismo el encargado de liberar el formulario antes de terminar con tu aplicación.

En el tercer caso asignas como dueño del formulario al formulario sobre el que ejecutas dicho código, puesto que "Self" es en este caso la instancia del formulario sobre el que aplicas el código. En este caso será este último formulario quien se encargue de liberar el formulario llegado el momento de su propia liberación.

Más o menos es eso. ¡O me corrijan! ;)

look
14-08-2008, 23:48:36
Hola,

El constructor que usas necesita como argumento un "dueño" ("Owner") para el formulario. Este "dueño" será el encargado de liberar el formulario, cuando el propio dueño tenga que ser liberado.

Por lo tanto, en el primer caso asignas como dueño del formulario al objeto "Application", y, cuando este se libere, se encargará de liberar también el formulario.

En segundo caso no asignas ningún dueño para el formulario, y, así tendrás que ser tú mismo el encargado de liberar el formulario antes de terminar con tu aplicación.

En el tercer caso asignas como dueño del formulario al formulario sobre el que ejecutas dicho código, puesto que "Self" es en este caso la instancia del formulario sobre el que aplicacas el código. En este caso será este último formulario quien se encargue de liberar el formulario llegado el momento de su propia liberación.

Más o menos es eso. ¡O me corrijan! ;)

Muy interesante..:), gracias Amigo.