![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Todo esto viene a raiz de lo publicado en este post:
http://www.clubdelphi.com/foros/showthread.php?t=92600
__________________
Saluda Atte Neeruu!!! :) |
|
#2
|
|||
|
|||
|
Hola... Como crean sus formularios....?????
__________________
Saluda Atte Neeruu!!! :) |
|
#3
|
||||
|
||||
|
Para empezar, yo uso poco los formularios tipo DMI, más que nada porque en el trabajo diario no me hacen falta. Pero tengo entendido que cuando creas una ventana "hija" en un MDI se crea, pero cuando la cierras NO SE DESTRUYE, sino que se esconde. En estos casos, revive con un "Show" y no con un nuevo create.
Cuando creo formularios "modales", elimino de estos la variable "Formx: TFormx" que se crea automáticamente. Prefiero crearlos y liberarlos yo mismo desde código (No hace falta decir que hay que quitarlos de la parte "Autocreate" de las opciones del proyecto). De todas formas no está de más echar un vistazo a La cara oculta de Delphi 4 que, en el capítulo 13, tiene un extenso tutorial sobre "Técnicas de Gestión de Ventanas" Saludos |
|
#4
|
||||
|
||||
|
Comentas muchas cosas y es un tema delicado.
Lo primero que te diría es que elimines la variable que se crea automáticamente en cada formulario, porque es una variable global que suele dar problemas. El que has comentado tú y otros similares. Crea tus propias variables de formulario donde las necesites. Una solución si debes reaprovecharlas es ponerlas a NIL cuando se destrruye el formulario tal y como has hecho.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#5
|
|||
|
|||
|
Naftali, gracias...
Conoces alguna documentación donde se hable lo que estoy preguntando... Ya mismo empezare a corregir el código de mi proyecto.... tengo para rato ...Si sabes de algún material de lectura, bienvenido... Saludos.
__________________
Saluda Atte Neeruu!!! :) |
|
#6
|
||||
|
||||
|
Específicamente de esto no, pero en el FTP tienes bastantes manuales de Delphi. Algunos incunables como "La Cara Oculta de Delphi".
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#7
|
||||
|
||||
|
Buen día,
Personalmente estoy de acuerdo con lo expresado por Roman en el post #9 del hilo que enlazo aquí Sin embargo hay una solucion que yo utilizo para evitar lidiar con los FreeAndNil, "releases" mal ubicados. y es la siguiente: 1) Creo un Tform1 que es el MDIform y un tform2 que es el MDIChild 2) Elimino la variable automática que crea el Tform2 (form2), como sugiere ElKurgan 3) en el evento onclose del Tform2 agrego la linea: Action:= caFree; 4) Para efectos de la prueba agrego dos botones u opciones de menú en el form1. a) el primer boton instancia formularios TForm2 sin asignarlos a variables (pues se liberarán con el Onclose.
b) el segundo crea un formulario asignado a una única variable llamada MyFormX
PERO...!!! éste útlimo código solo funcionará una vez pues el Action:=caFree, libera la memoria pero la variable queda asignada por tanto Assigned(MyformX) solo será falso la primera vez... entonces aqui utilizo un truco que me parece bastante seguro: Utilizo una variable de clase para indicar si el formulario está instanciado o no
y en el Form1 cambio el llamado al boton:
De ésta manera quedan asi los códigos Form1:
Form2:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| forma de programar no se si es la correcta ? | gulder | MySQL | 4 | 05-04-2016 17:49:51 |
| Liberar Tlist de forma correcta | BDWONG | Varios | 3 | 01-11-2014 17:28:46 |
| Forma correcta de conectar a la base.. | linuxtin | Conexión con bases de datos | 4 | 19-07-2012 20:30:20 |
| Crear formularios de forma dinamica | istradlin | Lazarus, FreePascal, Kylix, etc. | 4 | 06-12-2007 15:30:40 |
| Como destruir o liberar una forma | maguib | Varios | 1 | 11-03-2005 19:39:02 |
|