Se connecter avec
S'enregistrer | Connectez-vous

Variable globale?

Dernière réponse : dans Programmation

Bonsoir, c'est encore moi, je débute en delphi et j'ai un projet se composant de plusieurs fiches.
Mais il y'a un truc que je n'arrive pas a faire, c'est lorsque j'ai une variable (appelons la variable1) sur une Unité (disons la 1) et que j'ai envie de l'appeler dans une autre unité (disons unit2) il me met évidemment qu'il ne connait pas cette variable, mais j'essaye depuis un petit moment et je ne voit pas ou déclarer ma variable1 dans mon Unit1 pour pouvoir y accéder depuis mon Unit2.

J'ai déja essayé de mettre Unit1 dans uses de Unit2 mais il me met :
Circular unit reference to 'Unit1'

La question est assez simple je pense, et donc je ne trouve pas de réponse sur le net.

Merci de répondre

Autres pages sur : variable globale

Lassé par la pub ? Créez un compte
Expert Programmation

Problème de conception ! La programmation object c'est toute une philosophie.

Une unité, c'est une classe dont tu instancies un objet. Cet objet a des propriétés et des méthodes. Si tu veux récupérer une valeur (et non pas une variable) de cet objet, crée une propriété.
Expert Programmation

vedge2000 > beurk.

(vedge2000, ce n'est pas après toi que j'en ai mais après ton code qui soit dit en passant peut suffire dans 90% des cas ;)  )

  1. TUnit1 = class ..
  2.  
  3. protected
  4.  
  5. ta_variable : type_de_ta_variable;
  6.  
  7. public
  8.  
  9. function get_ta_valeur : type_de_ta_variable;
  10. procedure set_ta_valeur ( value : type_de_ta_variable );
  11.  
  12. ..

Ca c'est de la POO :sol: 

Maintenant à toi d'inventer les deux méthodes set_.. et get_.. et d'y inclure les tests et vérifications éventuellement nécessaires.
Expert Programmation

Bien sûr, mais c'est bien plus que de la POO, et si tu veux avoitr un certain contrôle sur l'écriture dans ta variable, la fonction set_.. reste légitime :
  1. TUnit1 = class ..
  2.  
  3. protected
  4.  
  5. ta_variable : type_de_ta_variable;
  6. procedure set_ta_valeur ( value : type_de_ta_variable );
  7.  
  8. public
  9. property ta_valeur : type_de_ta_variable read ta_variable write set_ta_valeur;
  10. ..

Citation :
vedge2000 > beurk.

(vedge2000, ce n'est pas après toi que j'en ai mais après ton code qui soit dit en passant peut suffire dans 90% des cas ;)  )

  1. TUnit1 = class ..
  2.  
  3. protected
  4.  
  5. ta_variable : type_de_ta_variable;
  6.  
  7. public
  8.  
  9. function get_ta_valeur : type_de_ta_variable;
  10. procedure set_ta_valeur ( value : type_de_ta_variable );
  11.  
  12. ..

Ca c'est de la POO :sol: 

Maintenant à toi d'inventer les deux méthodes set_.. et get_.. et d'y inclure les tests et vérifications éventuellement nécessaires.


Heuuu il débute en Delphi! Je pensais que le plus simple était le meilleur.
Expert Programmation

Citation :
vedge2000 > beurk.

(vedge2000, ce n'est pas après toi que j'en ai mais après ton code qui soit dit en passant peut suffire dans 90% des cas ;)  )
Citation :
Heuuu il débute en Delphi! Je pensais que le plus simple était le meilleur.


Dans les deux cas, tu as raison.

Mais j'ai tendance à croire que le plus simple, c'est de donner de bonnes habitudes à un débutant, plutôt que d'essayer de convaincre un vieux de la vieille qu'il a tord (cas extrème) ;) 
Lassé par la pub ? Créez un compte