Freigeben über


SET REPROCESS-Befehl

Gibt an, wie oft oder wie lange Visual FoxPro nach einem erfolglosen Sperrversuch erneut versucht, eine Datei oder einen Datensatz zu sperren.

SET REPROCESS TO nAttempts [SECONDS] [SYSTEM] | TO AUTOMATIC [SYSTEM]

Parameter

  • TO nAttempts [SECONDS]
    Gibt an, wie oft Visual FoxPro nach einem ersten erfolglosen Sperrversuch erneut versucht, eine Datei oder einen Datensatz zu sperren. Der Standardwert ist 0, der maximale Wert liegt bei 32.000.

    SECONDS gibt an, dass Visual FoxPro versucht, nAttempts Sekunden lang eine Datei oder einen Datensatz zu sperren. SECONDS ist nur verfügbar, wenn nAttempts größer als 0 ist.

    Wenn nAttempts beispielsweise 30 beträgt, versucht Visual FoxPro bis zu 30 Mal, einen Datensatz oder eine Datei zu sperren. Wenn Sie zusätzlich SECONDS (SET REPROCESS TO 30 SECONDS) angeben, wird der Versuch, einen Datensatz oder eine Datei zu sperren, bis zu 30 Sekunden lang ununterbrochen durchgeführt.

    Wenn SET STATUS auf ON gesetzt ist, wird die Systemmeldung "Auf Sperre wird gewartet …" angezeigt.

    Ist eine ON ERROR-Routine aktiv und bleibt der Versuch eines Befehls, einen Datensatz oder eine Datei zu sperren, erfolglos, so wird die ON ERROR-Routine ausgeführt. Wird der Sperrversuch jedoch von einer Funktion durchgeführt, wird die ON ERROR-Routine nicht ausgeführt, und die Funktion gibt den Wert Falsch (.F.) zurück.

    Wenn keine ON ERROR-Routine aktiv ist und die Datensatz- oder Dateisperrversuche eines Befehls erfolglos sind, wird eine entsprechende Warnmeldung (z. B. "Datensatz wird von einer anderen Person verwendet") angezeigt. Erfolgt der Sperrversuch dagegen durch eine Funktion, wird die Warnmeldung nicht angezeigt, und die Funktion gibt den Wert Falsch (.F.) zurück.

    Wenn nAttempts 0 beträgt (Standardwert) und Sie einen Befehl oder eine Funktion eingeben, die einen Datensatz- oder Dateisperrversuch unternimmt, versucht Visual FoxPro unbegrenzt lange, den Datensatz bzw. die Datei zu sperren. Visual FoxPro zeigt die Systemmeldung "Sperrung wird versucht... Mit ESC abbrechen" an, während es versucht, den Datensatz oder die Datei zu sperren. Wird der Datensatz bzw. die Datei zur Sperrung freigegeben, während Sie warten, so wird die Sperrung durchgeführt und die Systemmeldung gelöscht. Führt eine Funktion den Sperrversuch aus, gibt sie den Wert Wahr (.T.) zurück.

    Wenn Sie als Antwort auf die Systemmeldung ESC drücken, wird eine entsprechende Warnmeldung (z. B. "Datensatz wird von einer anderen Person verwendet") angezeigt. Erfolgt der Sperrversuch durch eine Funktion, wird die Warnmeldung nicht angezeigt, und die Funktion gibt den Wert Falsch (.F.) zurück.

    Wenn eine ON ERROR-Routine aktiv ist und ein Befehl versucht, einen Datensatz oder eine Datei zu sperren, so hat die ON ERROR-Routine den Vorrang vor weiteren Sperrversuchen. Die ON ERROR-Routine wird sofort ausgeführt. Visual FoxPro unternimmt keine weiteren Datensatz- oder Dateisperrversuche und zeigt die Systemmeldung nicht an.

    Wenn nAttempts auf –1 gesetzt ist, versucht Visual FoxPro unbegrenzt lange, den Datensatz oder die Datei zu sperren. Die Sperrversuche lassen sich nicht durch Drücken von ESC abbrechen, und es wird keine ON ERROR-Routine ausgeführt.

    Wenn Sie nAttempts auf -2 setzen, ist dies gleichbedeutend mit der TO AUTOMATIC-Klausel.

    Nur wenn SET STATUS auf ON gesetzt ist, zeigt Visual FoxPro die Systemmeldung "Auf Sperre wird gewartet …" an.

    Ist der Datensatz bzw. die Datei, die Sie sperren möchten, von einem anderen Benutzer gesperrt, müssen Sie so lange warten, bis dieser Benutzer die Sperrung aufhebt.

  • TO AUTOMATIC
    Gibt an, dass Visual FoxPro unbegrenzt lange versucht, den Datensatz oder die Datei zu sperren (gleichbedeutend mit der Einstellung nAttempts gleich –2). Diese Klausel ist ähnlich wie die Einstellung nAttempts gleich -1, mit der Ausnahme, dass sie die Möglichkeit bietet, den Versuch der Datensatz- oder Dateisperrung zu beenden.

    Die Systemmeldung "Sperrung wird versucht... Mit ESC abbrechen" wird angezeigt, während Visual FoxPro versucht, den Datensatz oder die Datei zu sperren. Wird der Datensatz bzw. die Datei zur Sperrung freigegeben, während Sie warten, so wird die Sperrung durchgeführt und die Systemmeldung gelöscht. Erfolgt die Dateisperrung durch eine Funktion, gibt diese den Wert Wahr (.T.) zurück.

    Wenn keine ON ERROR-Routine aktiv ist und Sie als Antwort auf die Systemmeldung ESC drücken, wird eine entsprechende Warnmeldung angezeigt (z. B. "Datensatz wird von einer anderen Person verwendet"). Erfolgt der Sperrversuch durch eine Funktion, wird die Warnmeldung nicht angezeigt, und die Funktion gibt den Wert Falsch (.F.) zurück.

    Wenn eine ON ERROR-Routine aktiv ist und Sie ESC drücken, wird die Routine ausgeführt. Erfolgt der Sperrversuch durch eine Funktion, wird keine ON ERROR-Routine ausgeführt, und die Funktion gibt den Wert Falsch (.F.) zurück.

  • SYSTEM
    Gibt an, dass SET REPROCESS für die Systemdatensitzung gilt, mit der intern verwendete Tabellen gesteuert werden, wie z. B. eine Datenbank, FOXUSER, SCX-Dateien usw.

    Weitere Informationen zum Sperren von Datensätzen und Dateien sowie zum Freigeben von Tabellen in einem Netzwerk finden Sie unter Programmieren für freigegebenen Zugriff.

Hinweise

Eine Datensatz- oder Dateisperrung ist nicht immer beim ersten Versuch erfolgreich. Häufig wird ein Datensatz bzw. eine Datei von einem anderen Benutzer im Netzwerk gesperrt. SET REPROCESS gibt an, ob Visual FoxPro nach einem ersten erfolglosen Sperrversuch weitere Versuche unternimmt, den Datensatz oder die Datei zu sperren. Sie können entweder die Anzahl der weiteren Versuche oder die Dauer dieser Versuche angeben. Eine ON ERROR-Routine beeinflusst die Reaktion auf erfolglose Sperrversuche.

SET REPROCESS gilt nur für die aktuelle Datensitzung. SET REPROCESS SYSTEM gilt nur für die Systemdatensitzung.

Anmerkung   Änderungen, die im Dialogfeld Optionen auf der Registerkarte Daten vorgenommen werden, haben nur Auswirkungen auf die aktuelle Sitzung.

Beispiel

SET ("REPROCESS")      && Returns the current session setting
SET("REPROCESS",1)   && Returns the system session setting

* In the config.fpw file, the following code changes the default session.
REPROCESS = 100

Siehe auch

FLOCK( ) | SET DATASESSION | Programmieren für gemeinsamen Zugriff