Freigeben über


AutoYield-Eigenschaft

Legt fest, ob eine Instanz von Visual FoxPro anstehende Windows-Ereignisse zwischen der Ausführung jeder einzelnen Zeile eines benutzerdefinierten Programmcodes verarbeitet.

ApplicationObject.AutoYield[ =lExpr]

Eigenschaftswerte

  • lExpr
    Legt fest, ob eine Instanz von Visual FoxPro Windows-Ereignisse zwischen der Ausführung jeder Zeile eines benutzerdefinierten Programmcodes verarbeitet. Für lExpr kann einer der folgenden logischen Werte eingesetzt werden:
    lExpr Beschreibung
    Wahr (.T.) (Standard) Die Instanz von Visual FoxPro verarbeitet anstehende Windows-Ereignisse zwischen der Ausführung jeder einzelnen Zeile des benutzerdefinierten Programmcodes.

    Ist lExpr auf Wahr (.T.) gesetzt, verarbeitet die Instanz von Visual FoxPro anstehende Windows-Ereignisse auf die gleiche Weise wie in früheren Versionen von Visual FoxPro.

    Falsch (.F.) Die Instanz von Visual FoxPro verarbeitet keine anstehenden Windows-Ereignisse zwischen der Ausführung jeder einzelnen Zeile des benutzerdefinierten Programmcodes.

    Alle noch nicht verarbeiteten Windows-Ereignisse werden in einer Warteschlange angeordnet. Die Ereignisse in der Warteschlange werden verarbeitet, wenn DOEVENTS ausgegeben wird oder ein Wartestatus eintritt. Ein Wartestatus tritt ein, wenn Visual FoxPro auf eine Eingabe des Benutzers wartet. Der WAIT-Befehl erzeugt keinen Wartestatus.

Hinweise

Wenn ein Formular ein ActiveX-Steuerelement enthält, sollte die AutoYield-Eigenschaft auf Falsch (.F.) gesetzt werden. Die Einstellung Falsch (.F.) für AutoYield verhindert, dass Ereignisse für ein ActiveX-Steuerelement zwischen den Zeilen des benutzerdefinierten Programmcodes ausgeführt werden. Ist AutoYield z. B. auf Wahr (.T.) gesetzt, verursacht das Klicken auf ein ActiveX-Steuerelement möglicherweise, dass während der Ausführung des benutzerdefinierten Programmcodes ein Ereignis für das ActiveX-Steuerelement ausgeführt wird, wodurch der benutzerdefinierte Programmcode für das Ereignis ignoriert würde, was zu unerwünschten oder unvorhersehbaren Ergebnissen führen kann.

Wenn die AutoYield-Eigenschaft auf Falsch (.F.) gesetzt ist, passiert Folgendes:

  • ActiveX-Steuerelemente können keine Ereignisse verarbeiten, bevor ein Wartestatus eintritt, so dass das Klicken auf ein ActiveX-Steuerelement ohne Wirkung bleibt, während der benutzerdefinierte Programmcode ausgeführt wird. Das Gleiche gilt für Visual FoxPro-Steuerelemente wie beispielsweise das Datenraster-Steuerelement (Grid).
  • ON KEY LABEL-Befehle und Mausereignisse werden ignoriert, während der benutzerdefinierte Programmcode ausgeführt wird. Die ON KEY LABEL-Befehle und Mausereignisse werden in eine Warteschlange gesetzt und während des nächsten Wartestatus verarbeitet.
  • Die Programmausführung wird durch Drücken von ESC nicht unterbrochen. Dies ist gleichbedeutend mit der Einstellung OFF für ESCAPE. In einem solchen Fall können Sie Endlosschleifen nicht verlassen, ohne die entsprechende Instanz von Visual FoxPro zu schließen.
  • Abfragen können nicht unterbrochen werden.
  • Der Wechsel zu anderen Anwendungen wird zwar unterstützt, Sie können jedoch nicht wieder zu Visual FoxPro zurückschalten, während Visual FoxPro einen benutzerdefinierten Programmcode ausführt

Siehe auch

DOEVENTS-Befehl | WAIT-Befehl | ON KEY LABEL-Befehl

Betrifft: Anwendungsobjekt | _VFP-Systemvariable