Mon appli stocke une partie de ses données de config dans des fichiers data.
voila le synoptique de la relecture au lancement :
Le problème : ça marche tres bien quand je tourne en application, ou en service NT sur une machine NT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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 ?
Partager