Page 1 sur 1

A propos des variables globales...

Publié : dim. 09/janv./2005 13:21
par Dräc
En général, il n’y a pas de problème puisqu’il est d’habitude de faire les déclarations en début de code, mais il y a une différence entre :

Code : Tout sélectionner

Global a.l

Procedure test()
  a + 20
EndProcedure

a=10
test()
Debug a
Donnant a=30

Et

Code : Tout sélectionner

Procedure test()
  a + 20
EndProcedure

Global a.l
a=10
test()
Debug a
Donnant a=10

Du moment que l’on défini une variable comme « globale », ces deux cas de figure ne devraient-ils pas etre les memes finalement?
Cette différence de résultat a t’elle une réelle utilité ?
Doit-on décréter que le deuxième code est mal écrit ?

Publié : dim. 09/janv./2005 13:36
par Jacobus
Du fait qu'à la compile le code est lu de haut en bas,
Ta globale ne l'est qu'après ta procèdure (2° exemple)
C'est aussi pour ça que les constantes sont énumérées en début de code, et que les procédures non déclarées doivent être écrites avant d'être appelées.
Enfin il me semble, mais je peux me tromper, j'en ai l'habitude. :roll:

Publié : dim. 09/janv./2005 14:16
par nico
Je te remercie Dräc, j'ignorais complètement cet état de fait.

:?

Publié : dim. 09/janv./2005 15:45
par Anonyme2
C'est le problème d'un compilateur une passe.

Peut-être que le nouveau compilo prendra ça en compte.