Ben :

>>
What I really need to know is why I get the "can't create temporary 
file" error. Maybe it's only an issue at start up and is able to create 
$$$ afterwards??? Would anyone know how to check? Or will the 
app just bomb?
<<

If you are anxious (as I am ....) you can check ability to write to scratch
directory.
This code check :
1) that scratch dir. exists
2) ability for user's capability to write in.

-- Controle existence et accessibilit� r�pertoire Scratch
SET VAR vscratch = (CVAL('SCRATCH'))
SET VAR vTEXT = (.vscratch + '\*.*')
SET VAR vINT = (CHKFILE(.vTEXT))
IF vINT = 0 THEN
   -- Le r�pertoire SCRATCH n'existe pas
   SET VAR vTEXT = ('Cr�er le r�pertoire SCRATCH (' + .vscratch + ') et
relancer')
   -- 16 = 1 seul bouton, arr�t critique
   SET VAR vTEXT = ('16|' + .Vcaption + '|' + .vTEXT)
   SET VAR vTEXT = (UDF('@RMSG.DLL',.vTEXT))
   QUIT
ELSE
   -- Il existe ... Tentative de copie
   COPY rbase.dat .vscratch
   SET VAR vINT = .verr
   IF vINT <> 0 THEN
      -- Le r�pertoire SCRATCH est inaccessible
      SET VAR vTEXT = ('Ecriture impossible sur le r�pertoire SCRATCH (' +
      + .vscratch + '). Erreur' & (CTXT(.vINT)))
      SET VAR vTEXT = ('16|' + .Vcaption + '|' + .vTEXT)
      SET VAR vTEXT = (UDF('@RMSG.DLL',.vTEXT))
      QUIT
   ELSE
      -- Effacement du fichier copi�
      SET VAR vTEXT = (.vscratch + '\rbase.dat')
      DELETE .vTEXT
   ENDIF
ENDIF

And if you are VERY ANXIOUS (then you may need a psychyatric analysis, as
me ...), you can check that there is room enought onto the scratch dir :
This code check that, if scratch drive is not current drive, then there is
more than 10 Mb free :

-- Controle place dispo. sur scratch si assign� � un disque # du disque
courant
SET VAR vcurrdir = (CVAL('CURRDIR'))
SET VAR vTEXT = (SGET(.vcurrdir,1,1))
IF (SLOC(.vscratch, ':') = 2) AND (SGET(.vscratch,1,1)) <> .vTEXT THEN
   SET VAR vTEXT = (SGET(.vscratch,2,1))
   CHDRV .vTEXT
   SET VAR vNUM = (ISTAT('diskspace'))
   SET VAR vTEXT = (SGET(.vcurrdir,2,1))
   CHDRV .vTEXT
   IF vNUM < 10000000 THEN
      -- Alerte op�rateur si place dispo < � 10 Mo
      SET VAR vTEXT = ('ATTENTION : Moins de 10 Mo disponibles sur le
r�pertoire.' +
      & .vscratch + (CHAR(10)) + 'Choisir ANNULER pour revenir sous
Windows,' +
      + ' faire de la place et relancer.')
      SET VAR vTEXT = (.vTEXT + (CHAR(10)) + 'Choisir OK (d�conseill�)' +
      & 'pour continuer.')
      -- 305 = 2 boutons OK Cancel (d�faut), point exclamation
      SET VAR vTEXT = ('305|' + .Vcaption + '|' + .vTEXT)
      SET VAR vTEXT = (UDF('@RMSG.DLL',.vTEXT))
      IF vTEXT <> 'OK' THEN
         QUIT
      ENDIF
   ENDIF
ENDIF


J.M. GRATIAS, Logimatique

Reply via email to