[R] Différence entre #include et #include-once

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
eln
Niveau 6
Niveau 6
Messages : 202
Enregistré le : sam. 28 juil. 2007 12:54
Status : Hors ligne

[R] Différence entre #include et #include-once

#1

Message par eln »

Bonjour

Tout est dans le titre, c'est juste pour avoir une petite explication sur l'utilisation de ces deux commandes.

Merci
Modifié en dernier par eln le ven. 07 sept. 2007 22:05, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#2

Message par sylvanie »

include +nom_fichier.au3
permet d'utiliser les fonction de fichier.au3 dans ton script
exple, quand tu utilises les fonctions de construction de GUI, tu les pioches dans GUIConstants.au3 et c'est pour ça que ce genre de script commence par #include <GUIConstants.au3>

include_once (sans argument) est à mettre en début d'un fichier au3 qui contient des fonctions qui seront appelées par d'autres script et qui ne doivent pas être incluses 2 fois sous peine d'erreur de redéfinition.

exple générateur d'erreur:
inc1.au3 définit toto()

inc2.au3 contient #include "inc1.au3" et définit à son tours tata()

et enfin ton script fonctionnel script.au3 :
#include "inc1.au3"
#include "inc2.au3"
....


ceci conduit à l'erreur de réfinition de toto() puisque défini dans inc1 et embarqué (donc redéfini) par inc2
ceci se corrige donc en mettant en entete de inc1 (puis inc2 pour éviter le même pb dans d'autre circonstances) #include_once au début
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
eln
Niveau 6
Niveau 6
Messages : 202
Enregistré le : sam. 28 juil. 2007 12:54
Status : Hors ligne

#3

Message par eln »

Donc en clair

#include-once pour tous les scripts qui vont être appelés par d'autre

#include pour inclure un script dans un script
Répondre