Mon appli stocke une partie de ses données de config dans des fichiers data.

voila le synoptique de la relecture au lancement :
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;
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 ?