Zum Hauptinhalt springen

FsiLock

obj -> FsiLock(int1, int2, logic3) : int

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Dateibereich sperren/entsperren

Details

Mit dieser Funktion kann ein Bereich der externen Datei (obj) gesperrt (logic3 = true) oder entsperrt werden (logic3 = false). Der Bereich wird durch seine Postion (int1) ab Dateianfang und seine Größe (int2) festgelegt. FsiLock() dient zur Synchronisation von Zugriffen auf gemeinsam benutzte externe Dateien. Lese- oder Schreibzugriffe auf gesperrte Bereiche sind dabei von anderen Benutzern nicht möglich.

Bei der Synchronisation von Zugriffen sollte vor einer Lese- bzw. Schreiboperation der entsprechende Bereich gesperrt werden.

Die Anweisung gibt einen Fehlerwert (_ErrFsi...) zurück. Der Fehlerwert des Betriebssystems kann über die Eigenschaft FsiError abgefragt werden.

Beispiel:

// Dateibereichssperrung erfolgreich
if (tHandle->FsiLock(tPos, 100, true) = _ErrOk)
{
// Dateizeiger setzen
tHandle->FsiSeek(tPos);
// 100 Byte lesen
tHandle->FsiRead(tBuffer, 100);
// Dateibereich entsperren
tHandle->FsiLock(tPos, 100, false);
}

Mögliche Laufzeitfehler: