SYSlockSperren

Top  Previous  Next

GEO-Dateien sperren.

Damit Dateien, die Pläne enthalten, nicht gleichzeitig von mehreren Benutzern bearbeitet werden können, werden sie gesperrt. In den Verzeichnissen wo sich die Pläne befinden, existiert eine Datei mit dem Namen sperren.dbf. Diese Datei, im DBASE-Format, enthält die notwendigen Informationen darüber, wer gerade welche Datei benutzt.

Parameter

root (PROOT)                                             [IN]

Handle auf die geöffnete Datenbank.

realName (char *)                                        [IN]

In realName steht der Verzeichnisname und der Dateiname. Anhand des Verzeichnisnamens wird eine Datei mit den Namen sperren.dbf erstellt (falls noch nicht vorhanden) und darin wird der Dateiname aus realName als gesperrte Datei eingetragen.

wasLocked (int *)                               [IN/OUT]

wasLocked zeigt auf ein int, das angibt, ob die Datei schon gesperrt war (TRUE) oder jetzt als gesperrt markiert wurde (FALSE).

user (char *)                                                 [IN]

Wenn der Plan nicht gesperrt ist, wird er gesperrt und zwar mit den Informationen welcher Benutzer den Plan sperrt.

wfName (char *)                                          [IN]

In welchem Workfile sich der Plan gerade befindet, wird mit wfName angegeben. Der Verzeichnispfad wird nicht mitgespeichert nur der Workfilename.

recht (char)                                                  [IN]

Als mögliche Rechte sind 'W' oder 'S' vorhanden.

format (char *)                                             [IN]

format gibt den Plantyp an, z.B. "DXF" oder "DBB". Es wird hier keine Prüfung gemacht, ob der im format angegebene Typ existiert, es kann also auch ein freier Name genommen werden.

blattTyp (int)                                                 [IN]

Mit blattTyp wird der Blatttyp bestimmt, in dem sich den Plan befindet.

accessNumber (int *)                         [IN/OUT]

M_Param_Beschr

userpar (const char *)                                 [IN]

M_Param_Beschr

SperreInfo (SPERRE_INFO *)         [IN/OUT]

Die Struktur SPERRE_INFO wird mit den Benutzernamen, Workfilenamen, Datum und Zeit und den Computernamen gefüllt, wenn der Plan bereits gesperrt ist.

Ergebnis

(int)                                                           [OUT]

Die Routine liefert als Ergebnis die Konstante ERROR_OK, wenn alles fehlerfrei verlief. Wenn der zu sperrende Plan schon gesperrt ist, wird auch ERROR_OK zurückgeliefert und in wasLocked steht dann TRUE und in der Struktur SPERRE_INFO steht dann die Informationen welcher Benutzer, welches Workfile, welche Zeit und Datum und von welchem Computer dieser Plan gesperrt wurde.

Deklaration

#include "system.h"

 

int DLLENTRY SYSlockSperren (

     PROOT          root,

     char *            realName,

     int *          wasLocked,

     char *            user,

     char *            wfName,

     char           recht,

     char *            format,

     int               blattTyp,

     int *          accessNumber,

     const char *      userpar,

     SPERRE_INFO *     SperreInfo

);

Verwandte Funktionen

SYSlockEnterAny

SYSlockEntsperren