Voila mon probleme, j'ai un programme qui utilise un peu l'ouverture fermeture de fichier.
En realité je l'utilise dans deux cas:
-pour ouvrir/fermer des fichiers (texte) de config
-pour ouvrir/fermer des fichiers (texte) et des images d'aide
voila le code:
et
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 procedure TForm_main.Charger2Click(Sender: TObject); var _ligne : string; begin opendialog_main.execute; // Si aucun fichier n'a été selectionné if opendialog_main.filename <> '' then begin assignfile(le_fichier,opendialog_main.filename); reset(le_fichier); while not eof(le_fichier) do begin readln(le_fichier,_ligne); // On transmet chaque ligne a la fonction 'analyser' // Qui mettra a jour les champs. analyser(_ligne); end; closefile(le_fichier); end; gerer_chart(); end;
(je ne vous ai mis l'ouverture de l'image seulement, cela suffit.)
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 procedure TForm_help.afficher_aide(titre : string; fichier_texte : string; fichier_image : string); begin // On affiche l'image d'aide if fichier_image <> '' then begin Image1.Picture.LoadFromFile('aide/' + fichier_image); // On affiche l'image d'aide, et on enleve l'image par defaut Image1.Visible := true; Image1.Left := Round(form_help.ClientWidth/2 - Image1.Width/2); form_help.ClientHeight := 330 + Image1.Height; Image_defaut.Visible := false; end; end;
Mon probleme est le suivant.
- Je peux lancer autant de fois la procedure d'ouverture de l'aide, avec plusieurs fichiers images differents, aucun probleme.
- Je peux charger autant de fichier de configuration que je veux.
MAIS
Si je charge un fichier de config et que ensuite je veux lancer ma procedure d'ouverture des fichiers d'aide. Ca me met une erreur "impossible d'ouvrir le fichier xxx".
Pour chercher un peu l'erreur j'ai carrement "raccourci" la procedure d'ouverture de fichier config en le transformant ainsi:
Autant dire qu'il ne reste plus que l'opendialog_execute. Mais... ca plante toujours, toujours la meme erreur, impossible d'ouvrir l'image. Alors que (je le repete) si en lancant le programme je vais directement lancer l'aide et donc ouvrir l'image il n'y a aucun programme...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm_main.Charger2Click(Sender: TObject); var _ligne : string; begin if opendialog_main.execute then showmessage('pouet'); end;
qq'un a une idée? merci d'avance
![]()
Partager