Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Fomrs Dinamicos (https://www.clubdelphi.com/foros/showthread.php?t=4027)

diegofhernando 29-09-2003 17:58:03

Fomrs Dinamicos
 
Que tal foro...

Pues mi problemilla es el siguiente: Estoy creando una aplicación donde el usuario puede crear dinamicamente la cantidad de formularios o ventanas que quiera; cuando las creo no hay problema, tengo un formulario 'Plantilla' que utilizo como base de los formularios que el usuario puede crear:

procedure TMainform.nuevaform;
var
nuevo: TPlantilla;
begin

nuevo:= TPlantilla.Create(Self);
nuevo.name:='nombre' + numero // variable tipo integer
nuevo.show;

end;


De esta forma creo los formularios el LIO esta cuando los cierro, pues cierran perfecto pero si intento crearlos nuevamente obviamente genera un error que me indica que ya existe un objeto llamado : 'nombre' + numero.... y pues hasta ahi llevo mi aplicación.

Agradezco de antemano toda su colaboración.

Salu2:cool:

delphi.com.ar 29-09-2003 18:06:46

Si no utilizas para nada el dato del nombre, no le pongas nombre a los forms... Y Listo!
Sinó puedes verificar que no exista ningún formulario con el mismo nombre consultando Screen.Forms.

Saludos!

diegofhernando 29-09-2003 18:30:33

Gracias, la verdad es que si necesito los nombres de los forms, voy a probar lo que me dices, no se si exista la forma de obtener el puntero del form para así liberarlo si ya existe... bueno, gracias de nuevo.

Salu2 :cool:

roman 29-09-2003 18:36:31

Cita:

Posteado originalmente por diegofhernando
no se si exista la forma de obtener el puntero del form para así liberarlo si ya existe

Si deseas liberarlo ¿por qué no lo haces desde que cierras el formulario? Simplemente pon

Action := caFree;

en el evento OnClose del formulario que creas para que se libere automáticamente al momento de cerrarlo. Esto también "libera" el nombre de manera que no te generará error al volverlo a crear.

// Saludos


La franja horaria es GMT +2. Ahora son las 20:47:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi