Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Buena programación en el DPR (https://www.clubdelphi.com/foros/showthread.php?t=68760)

vejerf 05-07-2010 17:58:30

Buena programación en el DPR
 
Hola a tod@s,

Hoy me ha surgido la siguiente duda existencial.

Para poneros en antecendentes yo programo usando el BDS2006 aunque supongo que para exponer el caso cualquier programa sería lo mismo.

La cosa es que ha medida que voy desarrollando una aplicación, cada vez que implemento un form nuevo y lo añado al proyecto, el BDS2006 añade una línea nueva al fichero .dpr creando el formulario. La línea añadida es de este estilo:
Código Delphi [-]
Application.CreateForm(TForm2, Form2);

Yo he aprendido a programar en Delphi según las necesidades que he ido teniendo por lo que nadie me ha enseñado unas técnicas de programación para ser lo más óptimo posible. Pero conforme va pasando el tiempo, y va haciéndose uno un poco menos novato va dándose cuenta de cosas.

Según entiendo esta línea te crea el formulario Form2 de tipo TForm2. Sin embargo este formulario no es el principal de mi aplicación por lo que de inicio no me es de utilidad, sin embargo está ocupando un espacio valioso.

Mi pregunta es, ya que yo creo los formularios en tiempo de ejecución conforme los voy necesitando, es necesario estas líneas en el fichero .dpr o es mejor irlos creando y destruyendo conforme se van necesitando.

Es decir, ¿se puede o se debe hacer esto?

Pasar de esto...
Código Delphi [-]
  Application.CreateForm(TPrincipalForm, PrincipalForm);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);

A esto otro...
Código Delphi [-]
  Application.CreateForm(TPrincipalForm, PrincipalForm);

Código Delphi [-]
procedure TPrincipalForm.ButtonClick(Sender: TObject);
var
  Form2 : TForm2;
begin
  Form2 := TForm2.Create(nil);
  try
    Form2 .ShowModal;
  finally
    Form2 .Free;
  end;
end;

adeszeus 05-07-2010 18:50:02

es valido
 
yo llevo aproximadamente 2 años programando con delphi... en realidad menos tiempo dado que solamente realizo proyectos sencillos o mas que nada experimentos de conectividad, y pues como creas tus formularios en tiempo de ejecucion, es totalmente extra que los tengas dentro de el codigo de tu dpr

FGarcia 05-07-2010 19:36:39

En el IDE de delphi menu Project existe la opcion de :

1. Evitar la creacion automatica de Formularios. Es decir que cada formulario queda disponible para crear manualmente, lo cual evita que en el DPR se creen automaticamente.

2. Manualmente seleccionar cuales formularios o modulos de datos quedan disponibles y cuales no.

vejerf 05-07-2010 19:44:44

Por lo que veo ambas formas son válidas, cosa que ya suponía.

Pero, ¿un buen programador o un programador experto que es lo que haría?

Saludos y gracias por sus aportaciones...

mightydragonlor 05-07-2010 20:12:44

es simple, igual que con una conexion a una base de datos, solo debes crear lo que necesites usar en el mismo momento que lo necesitas y destruirlo cuando ya no lo necesites, eso es lo que hace que un programa consuma mas memoria que otros, hay unos tan mal desarrollados que siendo muy pequeños consumen mas recursos que otros mucho mas grandes.

cloayza 06-07-2010 07:43:12

Amigo como todo en la vida "Depende"...

Si es un proyecto pequeno de no mas de 10 Formularios, podria funcionar bien...

Pero si es un sistema de mas formularios, es evidente que hay que optimizar los recursos de memoria.

En mi experiencia voy creando los formularios a medida que los utilizo, y despues de usarlos los destruyo para liberar memoria.

Saludos

Neftali [Germán.Estévez] 06-07-2010 11:11:52

Yo voto también por la segunda opción, sin duda.
Crear y destruir cuando los necesites.

Casimiro Notevi 06-07-2010 14:25:08

Cita:

Empezado por Neftali (Mensaje 369328)
Yo voto también por la segunda opción, sin duda.
Crear y destruir cuando los necesites.

Lo mismo, sólo creo al inicio el formulario principal y los data module :)

Caro 06-07-2010 15:20:24

Hola

Cita:

Empezado por Neftali (Mensaje 369328)
Yo voto también por la segunda opción, sin duda.
Crear y destruir cuando los necesites.

Cita:

Empezado por Casimiro Notevi (Mensaje 369339)
Lo mismo, sólo creo al inicio el formulario principal y los data module :)

Lo mismo hago yo. vejerf como te han indicado debes quitar los demas formularios del AutoCreate.

Saluditos

vejerf 06-07-2010 15:26:51

Muchas gracias a todos por vuestras respuestas y consejos, como he dicho en el primer post voy haciéndome un poco menos novato y todo gracias a vosotros.

Saludos!


La franja horaria es GMT +2. Ahora son las 18:06:06.

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