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