home *** CD-ROM | disk | FTP | other *** search
- { ──────────────────────────────────────────────────────────────── }
- { MEHRFACHES ÖFFNEN VON DATEIEN W/O SHARE }
- { ──────────────────────────────────────────────────────────────── }
- { Versucht, den eigenen Quelltext ('UNITS08.PAS') gleichzeitig }
- { zwei mal zu öffnen. Ohne Verwendung von SHARE oder eines NetBIOS-}
- { Treibers gelingt dies auch (was in einem Anwendungsprogramm ziem-}
- { liche Verwirrung stiften kann), wenn zuvor SHARE o.ä. resident }
- { geladen wurde, so wird beim zweiten Öffnungsversuch IORESULT auf }
- { 5 ("Access denied") gesetzt. }
- { ──────────────────────────────────────────────────────────────── }
- { Die ganze Sache funktioniert aber nur deshalb, weil FILEMODE }
- { (eine typisierte Konstante aus der TP-Unit SYSTEM, die standard- }
- { mäßig auf 2 gesetzt ist und beim Öffnen von Dateien den Modus }
- { angibt; nähere Erklärung siehe Unit "DBTypes") am Beginn des }
- { Programmes auf 18 ("Files im Exclusive-Mode öffnen") gesetzt }
- { wird. }
- { ──────────────────────────────────────────────────────────────── }
- { TDB verwendet als Default den Wert 34, der nur einen Lesezugriff }
- { durch andere Prozesse erlaubt. }
- { ──────────────────────────────────────────────────────────────── }
- { (c) 1992 by Aurora featuring M.J. Schwaiger }
- { ──────────────────────────────────────────────────────────────── }
- { History: }
- { 1992-04-15 MS Implementierung. }
- { ──────────────────────────────────────────────────────────────── }
-
- {$UNDEF Windows} { Unter Windows: $DEFINE Windows }
-
- PROGRAM UNITS08;
-
- USES
- AShare, { Überprüfung, ob SHARE geladen ist }
- {$IFDEF Windows}
- WINDOS,
- WINCRT;
- {$ELSE}
- DOS,
- CRT;
- {$ENDIF}
-
-
- VAR
- f1,
- f2 : FILE;
-
- BEGIN
- CLRSCR;
- WRITELN;
-
- IF ShareInstalled THEN
- BEGIN
- WRITELN ('SHARE ist installiert !');
- WRITELN;
- END
- ELSE
- BEGIN
- WRITELN ('SHARE ist nicht installiert !');
- WRITELN;
- END;
-
- FILEMODE := 18; { Dateien im Exclusive-Mode öffnen }
- {$I-}
- ASSIGN (f1, 'units08.pas');
- RESET (f1);
-
- WRITELN (IORESULT);
-
- ASSIGN (f2, 'units08.pas');
- RESET (f2);
-
- WRITELN (IORESULT);
-
- CLOSE (f1);
- CLOSE (f2);
-
- WRITELN (IORESULT);
- {$I+}
- WRITELN;
- WRITE ('Weiter ...');
- READKEY;
- WRITELN;
- END. { PROGRAM UNITS08 }