Bonjour à tous,
Je débute en Delphi et j'ai un problème que je n'arrive pas à résoudre depuis cet après midi malgrés mes recherches...
J'ai des bases en Turbo Pascal et il y a quelque mois on m'a demandé de develloper une application qui permette de calculer le cheminement de l'eau sur une chaussée.
J'ai donc devellopé cette application tant bien que mal en Delphi 4.0 mais avec mes bases de TP (tout dans la meme unité et pas d'utilisation orienté objet, difficile de faire plus moche n'est ce pas? ).
Maintenant que mon application semble fonctionner j'aimerais la ré-écrire en plusieurs unité afin de rendre le programme plus simple si une autre personne est amenée à le lire.
J'ai pour le moment créer 4 unités:
-La premiere unité (associé à une fiche) ouvre une fenetre pour choisir le fichier à traiter ( je récupere des données géométriques des chaussées sur Excel) et permet de rentrer certain parametres;
-La seconde unité classe les données récupéré via le fichier Excel;
-La troisième unité procède à des calculs divers..
-La quatrième unité (associé à une fiche) trace les écoulements.
Mon problème (enfin!) est que dans la 4eme unité j'appelle une variable contenu dans la 3ème unité. J'ai donc déclaré cette derniere en globale et je n'ai pas d'erreur à la compilation. Le probleme c'est que lorsque le programme arrive à la 4eme unité il oublie la valeur de la variable qui repasse à zéro.
Voici un morceau de l'unité 3:
Voici un morceau de l'unité 4:
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 unit unité3; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, FileCtrl,comobj; var La_variable_qui_oublie_sa_valeur:integer; implementation uses unité1; Procedure Stockage; var i,j:integer; begin end;
J'espere avoir été clair... et que ma question n'est pas trop bête
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
32
33 unit unité4; interface uses unité3; type TForm2 = class(TForm) ScrollBox1: TScrollBox; Image1:Timage; RadioGroup1: TRadioGroup; procedure FormCreate(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); public end; var Form2: TForm2; implementation uses unité1, unité2; {$R *.DFM} procedure TForm2.RadioGroup1Click(Sender: TObject); var i,n:integer; begin if radiogroup1.itemindex=0 then begin n:=La_variable_qui_oublie_sa_valeur;
Merci d'avance,
Thierry
Partager