Me encontré con esta página Why shouldn’t I call Application.CreateForm. Ahora tengo algo de código como este:¿Cómo evito llamar a Application .CreateForm dos veces?
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update; // force update
Application.Initialize;
Application.CreateForm(TClientData, ClientData);
SplashForm.Update; // force update
Application.CreateForm(TClientMainForm, ClientMainForm);
Application.ShowHint := True;
Application.Run;
ClientMainForm.ServerConnected := false;
FreeAndNil(ClientMainForm);
FreeAndNil(ClientData);
Primero un SplashForm se crea, a continuación, un módulo de datos y dura el formulario principal. La página dice que Application.CreateForm no debe ser llamado dos veces. ¿Debería cambiar el código anterior?
Saludos
no considero mejor estilo para eliminar el IDE creado globales . Esos son parte de cómo funcionan las aplicaciones Delphi. Tales "optimizaciones" son de hecho más un "olor a código" que un código generado IDE no optimizado. –
@ Warren: Ese comentario no tiene ningún sentido. Con la única excepción de la variable de formulario principal, una aplicación Delphi no necesita hacer uso de * ninguna * de esas variables globales, y la de la forma principal podría ser reemplazada fácilmente por una variable en el archivo del proyecto, que no sería conocida por cualquier otra unidad, por lo que tampoco sería realmente una variable global. – mghie
Simplemente estaba comentando la frase "Aunque puedes eliminarlos si quieres", no considero esa eliminación una buena idea. –