Je crée le fichier juste au dessus...
Code : Tout sélectionner
If CreateFile(0, GetCurrentDirectory() + "myProcedure.pb")
For a = 0 To 3
WriteStringN(0, "myProc_" + Str(a) + "()")
Debug a
Next a
CloseFile(0)
Else
MessageRequester("Information","Impossible de créer le fichier!")
EndIf
Ensuite, j'appelle l'include créé juste avant
Je pourrais aussi avec XIncludeFile "myProcedure.pb", mais le résultat est le même.
Tu peux faire l'essai en supprimant cette ligne, le fichier est bien crée.
Tu remets la ligne et tu relances, tu verras qu'il lit bien le fichier créé avant.
Si tu modifie ensuite la boucle en a = 0 to 2, le fichier myProcedure.pb est bien modifier, mais l'appel de l'include ne tiens pas compte de cette modification, à la seconde compilation, oui.
D'après moi, le compilateur cherche en premier tous les includes dans le code, et vérifie que ces fichiers existent, et les charge le cas échéant.
Ensuite, la compilation démarre.
Ce qui explique :
- si mon fichier n'existe pas, j'ai un message d'erreur.
- si mon fichier existe, il charge le fichier et le met dans le code
- si mon fichier existe, mais que j'ai modifié mon programme afin de changer la structure de l'include, le compilateur a chargé avant la version précédente et compile ensuite, donc crée à ce moment la nouvelle version de l'include, mais celle-ci n'est pas prise en compte.
Si je lance une seconde compilation sans changer mon code, il prendra le bon fichier.
Du coup, ça n'arrange pas mes affaires... je vais regarder si il y a des options de compilation...