Variable qui perd sa valeur
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? :mouarf: ).
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:
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:
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