Bonsoir
J'ai un soucis avec l'écriture d'un fichier sur l'évènement Form OnClose dans mon éditeur de programmation.
Mon but étant de mettre un chemin vers les fichiers qui sont ouverts dans mon éditeur à la fin pour qu'ils soient réouvert à la prochaine ouverture. La réouverture fonctionne bien. Je stocke donc dans un fichier situé ./configuration/session.txt un nom de fichier par ligne.
Mais le problème c'est que l'écriture fonctionne que quand elle veut le reste du temps elle lève une erreur sur le Rewrite (mauvais fichier)
Voici mon code :
Je vois pas pourquoi ça ne marche pas toujours même après avoir forcé la destruction du fichier avant de le réécrire.
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 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var Fic: TextFile; nb, i : integer; page : TTabSheet; S: string; syn : TSynEdit; begin deletefile(NameFicOpen); AssignFile(Fic, NameFicOpen); {$I-} // instruction pour le compilateur Rewrite(Fic); {$I+} if IOResult <> 0 then MessageDlg('Erreur avec le fichier.', mtConfirmation, [mbOK], 0); nb := Form1.PageControl1.PageCount; for i:=0 to nb-1 do begin page := Form1.PageControl1.Pages[i]; syn := TSynEdit(page.FindComponent('SynEdit'+ page.Name)); if(syn.Modified = true) then if MessageDlg('Voulez vous enregistrer les modifications de ' + page.Caption + 'avant de fermer l''application?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Form1.FichierSaveExecute(Sender); if (page.Tag = 0) then Writeln(Fic, page.Hint); end; CloseFile(Fic); end;
Est ce qu'il faut un chemin complet et non relatif ?
Quelqu'un aurait une idée ? Parce que moi je sèche.
Merci d'avance.
Partager