[RESOLU]pb service NT / accès fichier
Mon appli stocke une partie de ses données de config dans des fichiers data.
voila le synoptique de la relecture au lancement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
function Load(MonFichier: string): TList;
var
FichierDonnees: file;
agt: PTRtg;
Lu: integer;
Load: TSave;
begin
result := TList.Create;
if FileExists(MonFichier) then begin
AssignFile(MonFichier);
Reset(FichierDonnees, sizeof(TSave));
log(MonFichier +' ouvert');
while not Eof(FichierDonnees) do begin
agt := PTRtg(VAlloc(sizeof(TRtg)));
log(MonFichier +' lecture bloc');
BlockRead(FichierDonnees, Load, 1, Lu);
// ... affectation des données lues à agt
result.Add(agt);
end;
CloseFile(FichierDonnees);
log(IntToStr(result.count)+' agents');
end
else log(MonFichier +' non trouvé');
end; |
Le problème : ça marche tres bien quand je tourne en application, ou en service NT sur une machine NT.
Par contre la version service sur une machine 2000 n'arrive pas à lire le fichier.
Les traces (procédure log) me disent qu'il est correctement ouvert, mais qu'on ne rentre pas dans le while not EOF.
J'ai vérifié les droits d'accès du fichier (controle total pour tous) et de sa hierarchie de répertoires.
(mon service est interactive, donc tourne sous localSystem)
Une idée ?