Compartir a través de


AutoYield (Propiedad)

Especifica si una instancia de Visual FoxPro procesa eventos de Windows pendientes entre la ejecución de cada línea de código de programa de usuario.

ApplicationObject.AutoYield[ =lExpr]

Valores de la propiedad

  • lExpr
    Especifica si una instancia de Visual FoxPro procesa eventos de Windows entre la ejecución de cada línea de código de programa de usuario. lExpr puede ser uno de los siguientes valores lógicos:
    lExpr Descripción
    Verdadero (.T.) (Valor predeterminado) La instancia de Visual FoxPro procesa eventos de Windows pendientes entre la ejecución de cada línea de código de programa de usuario.

    Si lExpr está establecida en verdadera (.T.), la instancia de Visual FoxPro procesa los eventos de Windows pendientes de la misma forma que las versiones anteriores de Visual FoxPro.

    Falso (.F.) La instancia de Visual FoxPro no procesa los eventos de Windows pendientes entre la ejecución de cada línea de código de programa de usuario.

    Se pondrán en una cola todos los eventos de Windows pendientes y los eventos que estén en la cola se procesarán cuando se ejecute DOEVENTS o cuando pase a estado de espera. Un estado de espera tiene lugar cuando Visual FoxPro está esperando que el usuario escriba datos. El comando WAIT no crea un estado de espera.

Observaciones

La propiedad AutoYield debería tener el valor falso (.F.) siempre que un formulario contenga un control ActiveX. Asignar el valor falso (.F.) a AutoYield impide que los eventos para un control ActiveX se ejecuten entre líneas de código de programa de usuario. Por ejemplo, si AutoYield tiene el valor verdadero (.T.), hacer clic en un control ActiveX mientras se está ejecutando código de programa de usuario puede causar que se ejecute un evento para el control ActiveX y se pase por alto el código de programa de usuario para dicho evento, lo que tendría consecuencias impredecibles o indeseables.

A continuación se describe lo que ocurre cuando se asigna el valor falso (.F.) a la propiedad AutoYield:

  • Los controles ActiveX no pueden procesar eventos hasta que tenga lugar un estado de espera. Por tanto, el hecho de hacer clic en un control ActiveX no tendrá ningún efecto mientras se esté ejecutando código de programa de usuario. Éste es el mismo comportamiento para los controles de Visual FoxPro, como Grid.
  • Los comandos ON KEY LABEL y los eventos de mouse se pasarán por alto mientras se esté ejecutando código de programa de usuario. Los comandos ON KEY LABEL y los eventos de mouse se colocan en una cola y se procesan en el siguiente estado de espera.
  • El hecho de presionar ESC no interrumpe la ejecución del programa. Es idéntico a establecer ESCAPE en OFF. En este caso no podrá salir de bucles infinitos sin cerrar la instancia de Visual FoxPro.
  • No se pueden interrumpir las consultas.
  • Se acepta que se alterne entre otras aplicaciones, pero no podrá volver a Visual FoxPro mientras se esté ejecutando el código de programa de usuario de Visual FoxPro.

Vea también

DOEVENTS (Comando) | WAIT (Comando) | ON KEY LABEL (Comando)

Se aplica a: Application (Objeto) | _VFP (Variable del sistema)