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:
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;
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
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;
J'espere avoir été clair... et que ma question n'est pas trop bête

Merci d'avance,
Thierry