Page 1 sur 1

[R] AutoIt3Wrapper: Condition de compilation

Posté : mer. 24 juin 2015 18:39
par ZDS
Bonjour à tous,

Je souhaiterai savoir si quelqu'un sait comment suspendre une compilation en utilisant AutoIt3Wrapper. Voici un exemple :

Code : Tout sélectionner

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Before=""%autoitdir%\AutoIt3.exe" ".\Confirmation.au3" "%scriptdir%" "%scriptfile%""
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
MsgBox(0, @ScriptName, "Version "&(@Compiled?"compilée":"script"))
Comme vous le voyez, c'est très basique. Et lors de l'appel à la compilation, juste avant la compilation du script justement, je souhaite lancer "Confirmation.au3" dont voici le code :
► Afficher le texteConfirmation.au3
J'ai tenté de remplir les fonctions compilation_ok/ko avec des Exit 0/1 en me disant que le code d'erreur de sortie du programme pourrait être un facteur d'arret, mais visiblement ce n'est pas le cas.

Quelqu'un aurait une idée?

Merci d'avance ! :)

Re: [..] AutoIt3Wrapper: Condition de compilation

Posté : mer. 24 juin 2015 22:03
par jguinch
Pour annuler la compilation, tu peux killer le process "AutoIt3Wrapper.exe" depuis ton script de confirmation :
► Afficher le texteConfirmation.au3

Re: [..] AutoIt3Wrapper: Condition de compilation

Posté : mer. 24 juin 2015 22:19
par ZDS
C'est la solution que j'utilise actuellement, mais on ne peut pas dire que ce soit une solution très propre : Rien ne prouve que tel ou tel processus "AutoIt3Wrapper.exe" soit le bon, et détruire le processus en plein exécution n'effacera pas les résidus de ressources par ci par là qu'il peut y avoir.

Re: [..] AutoIt3Wrapper: Condition de compilation

Posté : mer. 24 juin 2015 22:57
par jguinch
Je suis bien d'accord que c'est pas très propre...
ZDS a écrit :Rien ne prouve que tel ou tel processus "AutoIt3Wrapper.exe" soit le bon
Tu fais tourner plusieurs AutoIt3Wrapper.exe en même temps toi ? :mrgreen:
Pour killer le bon process, il faudrait remonter l'arborescence des process : d'abord killer cmd.exe puis son parent AutoIt3Wrapper.exe

Sinon, tu peux aussi recompiler AutoIt3Wrapper.exe en le modifiant un peu (ligne 760) :D

Re: [..] AutoIt3Wrapper: Condition de compilation

Posté : jeu. 25 juin 2015 00:29
par ZDS
Vu que ce n'est pas implémenté dans le code original de AutoIt3Wrapper (si modification il y avait à faire, ça serait sans doute dans la section entre les lignes 736 et 751 en agissant en fonction de la variable $ExitCode), et qu'il existe une alternative plus ou moins "soignée" (un kill du premier processus "AutoIt3Wrapper.exe" qu'on trouve en remontant de parent en parent avec _WinAPI_GetParentProcess et _ProcessGetName, en partant de @AutoItPID), c'est pas la peine de se prendre plus le chou, je vais considérer le souci comme [R]ésolu. Merci Jguinch !