Ver Mensaje Individual
  #7  
Antiguo 03-05-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cita:
Empezado por sierraja Ver Mensaje
Hola a todos, ok me quedo bastante claro. Gracias por aclararme este episodio. Solo una pregunta mas: Para liberarlo totalmente de la memoria usando sin auto-create y modal, como dice el amigo ecfisa, tan solo utilizar Free y mas nada? para asegurarme...
Así es. Básicamente, cuando tú creas un objeto, tú eres el responsable de destruirlo. ¿Cuándo? Generalmente, cuando ya no te sea necesario. De todas formas, al crear un objeto, normalmente, su constructor te permite asignarle un "padre", y, si así haces, el propio "padre" se encargará de eliminar el objeto en cuestión, si tú no lo haces antes. Por ejemplo:

Código Delphi [-]
Form2 := TForm2.Create(Form1);

Arriba "Form2" es creado y después se le asigna como padre a "Form1". Desde ese momento "Form1" se encargará de destruir el objeto cuando ya no sea necesario, insisto, si tú no lo haces antes. Por el contrario, cuando escribes algo como lo siguiente:

Código Delphi [-]
Form2 := TForm2.Create( nil );

... no estás asignando ningún "responsable" ("padre") a "Form2", de manera que tú eres el encargado de destruir a "Form2". ¿Cuándo? Como dijimos antes, generalmente, cuando ya no te sea necesario.
Responder Con Cita