Compartir a través de


Ejecutar un formulario

Un formulario puede ejecutarse directamente desde la interfaz o mediante programación.

Ejecutar un formulario de forma interactiva

Hay varios modos de ejecutar el formulario que ha diseñado.

Si está trabajando en el Diseñador de formularios, puede probar el formulario haciendo clic en el botón Ejecutar de la barra de herramientas Diseñador de formularios. Para volver a abrir el formulario en el Diseñador de formularios, ciérrelo o elija el botón Modificar formulario de la barra de herramientas.

También puede ejecutar un formulario desde un proyecto o mediante programación.

Para ejecutar un formulario

  • En el Administrador de proyectos, seleccione el nombre del formulario en la ficha Documentos y elija Ejecutar.

    –O bien–

  • Escriba DO FORM en la ventana Comandos.

    –O bien–

  • En el menú Formulario, elija Ejecutar formulario. También puede elegir el botón Ejecutar en la barra de herramientas Estándar.

También puede ejecutar el formulario si elige Ejecutar en el menú Programa, a continuación elige Formulario en el cuadro Mostrar archivos del tipo y finalmente selecciona el formulario y elige Ejecutar.

Sugerencia   Cuando ejecuta un formulario, puede cambiar rápidamente al modo Diseño si hace clic en el botón Modificar formulario de la barra de herramientas Estándar.

Ejecutar un formulario desde un programa

Para ejecutar un formulario mediante programación, incluya el comando DO FORM en el código asociado a un evento, en código de método o en un programa o un procedimiento.

Asignar un nombre al objeto Form

De forma predeterminada, cuando usa el comando DO FORM, el nombre del objeto Form es el mismo que el del archivo .scx. Por ejemplo, la siguiente línea de código ejecuta Customer.scx. Visual FoxPro crea automáticamente una variable de objeto para el formulario llamada customer:

DO FORM Customer

Para asignar un nombre a un objeto Form

  • Utilice la cláusula NAME del comando DO FORM.

Por ejemplo, los comandos siguientes ejecutan un formulario y crean dos nombres de variable del objeto Form:

DO FORM Customer NAME frmCust1
DO FORM Customer NAME frmCust2

Manipular el objeto Form

Si ejecuta el comando DO FORM desde la ventana Comandos, el objeto Form se asociará a una variable pública. Puede tener acceso al objeto Form a través del nombre de variable. Por ejemplo, los comandos siguientes, ejecutados en la ventana Comandos, abren un formulario llamado Customer y cambian su título.

DO FORM Customer
Customer.Caption = "Hello"

Si a continuación ejecuta el comando siguiente en la ventana Comandos, aparecerá O en la ventana Resultados activa, lo que indica que Customer es un objeto:

? TYPE("Customer")

Si ejecuta el comando DO FORM en un programa, el objeto Form se incluirá en el alcance del programa. Si se completa el programa o el procedimiento, el objeto desaparecerá, pero el formulario permanecerá visible. Por ejemplo, podría ejecutar el programa siguiente:

*formtest.prg
DO FORM Customer

Después de ejecutar el programa, el formulario permanece visible y todos los controles del formulario están activos, pero TYPE("Customer") devuelve U, lo que indica que Customer es una variable no definida. El comando siguiente, ejecutado en la ventana Comandos, generaría un error:

Customer.Caption = "Hello"

Sin embargo, sí puede tener acceso al formulario utilizando las propiedades ActiveForm, Forms y FormCount del objeto Application.

Ajustar el alcance del formulario a la variable del objeto Form

La palabra clave LINKED del comando DO FORM permite vincular el formulario al objeto Form. Si incluye la palabra clave LINKED, cuando la variable asociada al objeto formulario esté fuera del alcance, se liberará el formulario.

Por ejemplo, el comando siguiente crea un formulario vinculado a la variable de objeto frmCust2:

DO FORM Customer NAME frmCust2 LINKED

Cuando se libera frmCust2, el formulario se cierra.

Cerrar un formulario activo

Para permitir que los usuarios cierren el formulario activo al hacer clic en el botón de cierre o al elegir Cerrar en el menú Control del formulario, establezca la propiedad Closable del formulario.

Para permitir a un usuario cerrar el formulario activo

  • En la ventana Propiedades, establezca la propiedad Closable en el valor verdadero (.T.).

    –O bien–

  • Utilice el comando RELEASE.

Por ejemplo, puede cerrar y liberar el formulario frmCustomer si ejecuta el comando siguiente en un programa o en la ventana Comandos:

RELEASE frmCustomer

También puede permitir que un usuario cierre y libere un formulario si incluye el comando siguiente en el código de evento Click de un control, como un botón de comando con el título “Salir”:

THISFORM.Release

También puede usar el comando RELEASE en el código asociado a un objeto del formulario, pero no se ejecutará el código que haya incluido en el método Release.

Precaución   Al liberar un formulario, se libera de la memoria la variable de objeto creada para el formulario. Hay una única variable para un conjunto de formularios, por lo que no podrá liberar formularios de un conjunto de formularios sin liberar el conjunto. Si desea liberar el conjunto de formularios, puede utilizar RELEASE THISFORMSET. Si desea quitar un formulario de la pantalla de modo que un usuario no pueda verlo o interactuar con él, utilice THISFORM.Hide.

Vea también

Guardar formularios | Establecer propiedades en tiempo de ejecución | Crear formularios | Ejemplo de manipulación de objetos | Ocultar un formulario