Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Creacion de Formularios. (https://www.clubdelphi.com/foros/showthread.php?t=59158)

look 14-08-2008 23:38:32

Creacion de Formularios.
 
hola amigos, me gustaria saber la diferencia entre estos:
Código Delphi [-]

 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

Cita:

Empezado por dec (Mensaje 307717)
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.


La franja horaria es GMT +2. Ahora son las 22:07:12.

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