Bonjour
Tout est dans le titre, c'est juste pour avoir une petite explication sur l'utilisation de ces deux commandes.
Merci
[R] Différence entre #include et #include-once
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Différence entre #include et #include-once
Modifié en dernier par eln le ven. 07 sept. 2007 22:05, modifié 1 fois.
- sylvanie
- Niveau 11
- Messages : 1550
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
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
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.