Bonjour,
-Comment faire pour declarer une variable globale avec dephi
-D'autre part qu'est-ce qu'on fait pour qu' une forme est vue par les autres formes sans passer avec le dll.
Merci pour votre réponse!
Version imprimable
Bonjour,
-Comment faire pour declarer une variable globale avec dephi
-D'autre part qu'est-ce qu'on fait pour qu' une forme est vue par les autres formes sans passer avec le dll.
Merci pour votre réponse!
Bonjour,
le mieux c'est de déclarer une unité (.pas) pour tes variables globales:
Ensuite dans les USES de tes formes tu rajoute ton unité uGLOBALE (ce qui répond au passage à ta seconde question)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 unit uGLOBALE; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TVarGlob = class(TForm) private { Déclarations privées } public { Déclarations publiques } end; var VarGlob: TVarGlob; //tes variables globales SectionsNeutres : Array of Array of Double; taille :integer; NUMERO_MR : ansistring; PasTemps : integer;
Est-ce qu'on peut écrire directement cette déclaration dans la forme en courset les autres formes peuvent la voir.Code:
1
2
3
4
5
6
7 var VarGlob: TVarGlob; //tes variables globales SectionsNeutres : Array of Array of Double; taille :integer; NUMERO_MR : ansistring; PasTemps : integer;
[/QUOTE]Code:
1
2
3
4
5
6
7 var VarGlob: TVarGlob; //tes variables globales SectionsNeutres : Array of Array of Double; taille :integer; NUMERO_MR : ansistring; PasTemps : integer;
Est-ce qu'on peut pas écrire directement cette déclaration dans la forme en cours et les autres forme peuvent le voir.
Si dans les autres formes tu met dans tes uses ta forme en cours alors oui...
Mais fait attention aux références circulaires (du genre: ta forme1 utilise ta forme2 et ta forme2 utilise ta forme1)...Sinon Delphi plante.
C'est pour ca que déclarer une unité pour tes variables c'est plus sur (et plus propre question programmation)
@+.
Merci c'est claire je saisis les principes.Citation:
Envoyé par PadawanDuDelphi
Je pose cette question puisque je voudrai la valeur retournée dans un zone de texte(non basé) d' une Forme1 pour une Forme2! si j'ai bien saisi mieux vaux récupérer cette varible dans une autre unité puis on la récupère dans la forme2 .
C'est ce que j'aurais fait...Citation:
Envoyé par Sabact
Bon dev, A+.
Tu peux directement accéder à l'objet zone de texte, mais le mieux à mon avis consiste à créer une propriété afin de conserver une bonne encapsulationCitation:
Envoyé par Sabact
Pour le principe :
Utiliser une variable globale peut poser un problème si tu as plusieurs instances de ta fiche au même moment (en effet de quelle forme provient alors le contenu de la variable globale).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 TForm1 = class private function GetTexte: String; ... public ... property Texte : String read getTexte; end; function TForm1.GetTexte: String; begin Result := Edit1.Text; End;
Dans l'absolu, ne déclare pas trop de variables globales, on peut souvent s'en passer. Les variables gloables compliquent la compréhension et le contrôle du code.
cldt
e-ric
Cela me donne un plus d'inspirationCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 TForm1 = class private function GetTexte: String; ... public ... property Texte : String read getTexte; end; function TForm1.GetTexte: String; begin Result := Edit1.Text; End;
Merci!