Index: freexp/fileio.pas
===================================================================
RCS file: /server/cvs/freexp/fileio.pas,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- freexp/fileio.pas   1 Jan 2005 11:16:27 -0000       1.53
+++ freexp/fileio.pas   13 Nov 2005 10:06:00 -0000      1.54
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: fileio.pas,v 1.53 2005/01/01 11:16:27 mw Exp $ }
+{ $Id: fileio.pas,v 1.54 2005/11/13 10:06:00 mw Exp $ }
 
 { File-I/O, Locking und Dateinamenbearbeitung }
 
@@ -69,6 +69,8 @@
 procedure resetfm(var f:file; fm:byte);         { mit spez. Filemode öffn.}
 function  FileLock(var datei:file; from,size:longint):boolean;
 procedure FileUnLock(var datei:file; from,size:longint);
+function  XPLock:boolean;
+procedure XPUnlock;
 
 procedure addext(var fn:pathstr; const ext:extstr);
 procedure adddir(var fn:pathstr; dir:dirstr);
@@ -86,7 +88,7 @@
 implementation  { ------------------------------------------------------- }
 
 uses
-  xp0,clip;
+  xp0,clip,overlay;
 
 const
   PathSepaChar          = ';';
@@ -626,6 +628,46 @@
   end;
 end;
 
+function XPLock:boolean;
+var
+  regs : registers;
+  from,size: longint;
+
+begin
+  from:=0;
+  size:=_filesize(Progname+'.exe');
+  if shareda then
+  with regs do
+  begin
+    ax:=$5c00;
+    bx:=OvrDosHandle;
+    cx:=from shr 16; dx:=from and $ffff;
+    si:=size shr 16; di:=size and $ffff;
+    msdos(regs);
+    XPLock:=flags and fcarry = 0;
+  end else
+    XPLock:=true;
+end;
+
+procedure XPUnlock;
+var
+  regs : registers;
+  from,size: longint;
+
+begin
+  from:=0;
+  size:=_filesize(Progname+'.exe');
+  if shareda then
+  with regs do
+  begin
+    ax:=$5c01;
+    bx:=OvrDosHandle;
+    cx:=from shr 16; dx:=from and $ffff;
+    si:=size shr 16; di:=size and $ffff;
+    msdos(regs);
+  end;
+end;
+
 (*
 procedure TestShare;
 var
@@ -841,6 +883,9 @@
 end.
 {
   $Log: fileio.pas,v $
+  Revision 1.54  2005/11/13 10:06:00  mw
+  MW: - Einbau der Möglichkeit die Programmdatei zu locken/unlocken.
+
   Revision 1.53  2005/01/01 11:16:27  mw
   MW: - Willkommen im Jahr 2005
 
Index: freexp/xpx.pas
===================================================================
RCS file: /server/cvs/freexp/xpx.pas,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- freexp/xpx.pas      1 Jan 2005 11:16:31 -0000       1.31
+++ freexp/xpx.pas      13 Nov 2005 10:06:00 -0000      1.32
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xpx.pas,v 1.31 2005/01/01 11:16:31 mw Exp $ }
+{ $Id: xpx.pas,v 1.32 2005/11/13 10:06:00 mw Exp $ }
 
 { CrossPoint - First Unit }
 
@@ -300,7 +300,7 @@
     { Bei integriertem OVR mⁿssen wir nicht testen !!}
     { TestOVR; }
     OvrInit(Progname+'.exe'); 
-
+    XPUnlock;
     {Lightweight-Readpar}
     noovrbuf:=false; 
     for i:=1 to paramcount do begin     
@@ -357,6 +357,9 @@
 
 {
   $Log: xpx.pas,v $
+  Revision 1.32  2005/11/13 10:06:00  mw
+  MW: - Einbau der Möglichkeit die Programmdatei zu locken/unlocken.
+
   Revision 1.31  2005/01/01 11:16:31  mw
   MW: - Willkommen im Jahr 2005
 
Index: freexp/doc/snapshot.dq
===================================================================
RCS file: /server/cvs/freexp/doc/snapshot.dq,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- freexp/doc/snapshot.dq      11 Nov 2005 14:36:17 -0000      1.57
+++ freexp/doc/snapshot.dq      13 Nov 2005 10:11:09 -0000      1.58
@@ -268,15 +268,18 @@
 
 %
 %
-%Snapshot vom xx.xx.200x, xx:xx Uhr
+%Snapshot vom 13.11.2005, 11:15 Uhr
 %----------------------------------
-A.   Snapshot vom xx.xx.200x, xx:xx Uhr
+A.   Snapshot vom 13.11.2005, 11:15 Uhr
 ---------------------------------------
-■  xx.xx.200x
+■  13.11.2005
 -------------
 
-xx:
-%*  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-  xxx.xxx, xxxx.xxx, xx.xxx
+MW:
+%#  Entsperren der Programmdatei um Tools den Zugriff auf die
+%   XP.EXE zu erlauben. 
+- Um Programmen den Lesezugriff auf die XP.EXE zu erlauben, welche
+  die XP.EXE unnötigerweise für Schreibzugriffe öffnen wollen
+  wird die Programmdatei jetzt entsperrt.
+  fileio.pas, xpx.pas
 

------------------------------------------------------------------------
FreeXP CVS-Mailingliste
CVS-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/cvs-list

Antwort per Email an