Ver Mensaje Individual
  #3  
Antiguo 13-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo cierto es que no tengo razones suficientes como para hacerte decidir sobre una forma u otra de actuación, pero, me da en la nariz que es más pertinente utilizar el "Application.Run" en lugar de "ShowModal". ¿En qué me baso para decir esto? Básicamente en la codificación del método "Run", de la clase "TApplication", en comparación con el método "ShowModal", de la clase "TCustomForm".

Si miras cómo están codificados ambos métodos, puede que los resultados que ofrezcan sean parecidos, pero, para mí tengo que no iguales, que, aunque los resultados sean iguales, aparentemente, se hacen cosas distintas en ambos lugares y acaso alguien más experimentado pudiera decir en qué cosas, exactamente, difieren ambos métodos.

En los dos ("Run" y "ShowModal") se entra en un bucle "repeat .. until", pero, desde luego, a simple vista parece mucho más pesado el uno que el otro: parece, repito, más liviano el bucle de "Run" que el bucle de "ShowModal". Parece incluso como si en el método "ShowModal" de "CustomTForm" se tuviera en cuenta la posibilidad de iniciarse con un formulario "modal", puesto que se llama al método "Application.ModalStarted" en su interior.

En fin, no sé Crandel, pero, me da en la nariz que lo que uno pretende iniciar es una aplicación, no un formulario, únicamente, y así se debería llamar al método "Run" de "TApplication", en lugar de al "ShowModal" de "TCustomForm". De todos modos, como no doy razones suficientes (en realidad únicamente conjeturas) el tema parece interesante y tal vez alguien nos ofrezca un poco más de información sobre este asunto.

En fin -termino con esto- pareciera que el mostrar un formulario "modalmente" es una especie de excepción a la regla, quiere decirse, normalmente los formularios no se muestran así: son los cuadros de diálogo los que se muestran de este modo, que, de acuerdo, pueden ser bastantes, pero no deja de ser una excepción a la regla esta que acabo de inventarme. De hecho tienes que empezar mostrando el formulario "modalmente" y así aprovecharte del "bucle" que he mencionado, porque si mostraras el formulario con el método "Show" el programa terminaría acto seguido, al no aprovecharse del "bucle" en el interior del método "Run" de "TApplication".

Vale. Para no decir nada ya está bien lo dicho. A ver qué puede sacarse en claro de todo esto
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita