Ver Mensaje Individual
  #11  
Antiguo 26-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
Hola:

Jachguate escribió:
Cita:
Pues a simple vista parece que el objeto indicado es el Application, sin embargo, no en todos los contextos es aplicable y muchas veces Application no es el owner de las formas. No se si Screen será el idoneo, pero en lo personal me parece mas adecuado que application.

Parece tema de un buen debate, no?
Application no siempre será el Owner de todas las formas, pero mucho menos lo es Screen. El contexto en que ambas variables globales se encuentran es el mismo, de hecho ambas son inicializadas y detruidas en la misma unit Controls, de modo que basta con que nuestro programa lleve un control (o un solo formulario) para que empiecen a rodar. Si hablamos de un ejecutable sin Forms, entonces de nada nos interesa acceder a esa lista.

Creo que el ponerlo en la variable Screen es algo arbitrario, sencillamente en el constructor del TForm se hace un Screen.AddForm (Self), como se hubiera podido hacer Application.AddForm (Self).

Lo de tener una lista con los formularios disponibles, me uno a la solución propuesta, bastaría registrar la clase de cada formulario en una lista (en la sección Initialization de la unit del Form), y sería interesante disponer de una factoría de clases que creara el formulario apetecido suministrándole un nombre (el de la clase u otro más descriptivo).
__________________
Guía de Estilo
Responder Con Cita