![]() |
Creacion Correcta de Forms???
Hola que tal, bueno hace tiempo que trabajo con Forms creados en tiempo de ejecución, pero tratando de optimizar mi codigo he visto algunas formas de crear, mostrar y liberar Forms de diferentes maneras que me han causado un poco de confucion.
Lo que hago (y hasta el momento me ha funcionado) es lo siguiente:
Bueno esto funciona bien al menos ahorita para lo que hago, ya que el FormPrincipal va a estar abierto un tiempo indefinido: *Pueden abrir un FormX y cerrarlo. *Abrir uno nuevo, FormY y dejarlo abierto. *Volver a abrir el FormX. Cuando creo un Form, deshabito el boton que lo crea y lo muestra, asi evito que lo vuelvan crear y mostrar una 2a vez. Pero ya NO quiero Deshabilitar el boton, si no que si le vuelven a dar Click una 2a vez, valide: if //ya esta creado y en Show { Poner el Focus en Form } else //SI no esta creado { Crearlo; Show; } Mis dudas son las siguientes: ¿Quisiera saber si hay alguna manera mas optima de crear, mostrar y liberar Forms?. ¿Como se si un Form ya esta creado para hacer la validación que necesito? De antemano gracias. |
Cita:
|
tambien aqui puedes ampliar un poco mas tus dudas
|
look: Muchas gracias, es exactamente lo que necesitaba y el link ya me aclaro las dudas!
Saludos :D |
Cita:
Para no estar borrando nada del .DPR deberias indicarle a Delphi que formulario debe crear y cuales no.;). Ésto se consigue entrando en el menú Project>Opcions > Pestaña Forms, del IDE. Si te fijas en dicha pestaña hay 2 partes, la una dice: Auto-create Forms que es donde están todos tus formularios que delphi va crear en el .DPR al correr la aplicacion, la otra parte dice: Available Forms que son todos los formulario que delphi no los va a crear(instanciar) al iniciar la aplicacion(Incluso hay un combobox donde puedes selecionar cuál va ser tu formulario principal) Tú debes decidir cuales se van a crear al correr la aplicacion y cuales no, tan solo debes pasarlo de un lado para el otro, eso ya es criterio tuyo. Por otra parte el codigo que te propone look tiene una linea por demás, el código que te propone él ,quedaría mas o menos de esta manera: Por supuesto no debes olvidar de destruirlo y ponerlo en nulo (nil) al cerrarlo tal como te ha indicado look,en el evento OnClose;) Saludos...:) |
Me arroja un error de acceso de violación al crear el formulario disponible.
Tendra algo que ver el que tenga la aplicación como una instancia Mutex para evitar una doble ejecución. |
Cita:
Pon algo de código...;). Saludos...:) |
no contestar, error
|
La franja horaria es GMT +2. Ahora son las 10:30:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi