Página 1 de 1

Asignar variable a Formulario

Publicado: Dom Oct 23, 2016 9:24 pm
por jvtecheto
Hola:

Mirando en los foros, he leído que es posible asignar una variable a un formulario para referirse a el y que el objeto que referencia al formulario se llama oMainForm. (No lo sabia ...)

pero para asignarlo a una variable debería tener la propiedad cVarName y no la veo la verdad. Tiene cClassName, es el nombre de su clase, no es el de su variable , creo..

Si son tan amables de aclararme esto

Jose Vte.

Re: Asignar variable a Formulario

Publicado: Dom Oct 23, 2016 10:28 pm
por jfgimenez
José Vicente,

no, no es exactamente así. El hecho de que puedas asignarlo a una variable es común a cualquier cosa en Harbour o xbase, incluidos los objetos. La variable la creas tú, y puede ser una variable pública, local, una propiedad de un objeto, etc.. Cualquier cosa que almacene un valor. Para asignarla, basta con recoger el resultado de la creación del objeto. P.ej.:

Código: Seleccionar todo

LOCAL oForm
oForm := TForm1():New( Application )
Con eso, ya tendrías en la variable oForm una instancia del formulario TForm1. Después, puedes hacer cosas como:

Código: Seleccionar todo

oForm:ShowModal()
Por otro lado, lo de oMainForm es una propiedad de TApplication, y la asgina Xailer automáticamente cuando se crea el formulario principal de una aplicación. Para que lo veas claro: Xailer crea automáticamente 4 variables públicas: Application, Screen, Printer y AppData, todas ellas son instancias únicas de sus clases correspondientes, y siempre están disponibles durante toda la ejecución del programa. Application contiene una instancia de TApplication, y en Application:oMainform se guarda una referencia al formulario principal de la aplicación.