Bonjour à tous :

J'utilise le code suivant comme exemple, pour sauvegarder :

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
 
var fich:TFileStream;
     signet:TStringList;
     co:integer;
 
procedure Save;
begin
    fich:=TFileStream.Create('essai',fmcreate);
    signet.savetostream(fich);
    fich.write(co,sizeof(co));
    fich.free;
end;
 
 
procedure Load;
begin
    fich:=TFileStream.Create('essai',fmOpenRead);
    signet.LoadFromStream(fich);
    fich.read(co,sizeof(co));
    fich.free;
end;
Et la variable CO contient la même valeur qu'avant l'instruction read (aléatoire)

Si j'inverse comme ceci dans le code :
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
 
var fich:TFileStream;
     signet:TStringList;
     co:integer;
 
procedure Save;
begin
    fich:=TFileStream.Create('essai',fmcreate);
    fich.write(co,sizeof(co));
    signet.savetostream(fich);
    fich.free;
end;
 
 
procedure Load;
begin
    fich:=TFileStream.Create('essai',fmOpenRead);
    fich.read(co,sizeof(co));
    signet.LoadFromStream(fich);
    fich.free;
end;
Alors CO contient bien la valeur sauvegardée, pourquoi ?

Où est mon erreur ? [/code]