Page 1 sur 1

[R] Icone à la compilation

Posté : lun. 13 sept. 2010 12:00
par ZDS
(Re)bonjour à tous !

Je me heurte à un problème, j'ai un script qui est prévu pour être compilé si l'utilisateur le souhaite, une icône étant disponible dans un sous dossier.

En compilant en ligne de commande:

Code : Tout sélectionner

"C:\Program Files\AutoIt\Aut2Exe\Aut2Exe.exe" /in U:\Script\Script.au3 /out C:\AutoIt\Executable.exe /icone U:\Images\Icone.ico /comp 4
ça fonctionne, j'obtiens mon fichier "Executable.exe" avec l'icône voulue dessus.
Par contre, en utilisant les options #AutoIt3Wrapper, et en cliquant droit sur le script > [Compile], j'obtiens bien un fichier exe ("Script;exe", et non "Executable.exe"), avec l'icone AutoIt par défaut.

Peut-être ai-je mal mis les options de compilation (#AutoIt3Wrapper_XXXXXXXX), peut-être que je ne fais pas la bonne manip (passer par le clic droit), ou peut-être aussi que les #AutoIt3Wrapper ne fonctionnent pas sous AutoIt 3.3.6.1 (les messages que j'ai trouvé sur le forum et sur d'autres sites datent de 2007 environ).
j'ai essayé avec #AutoIt3Wrapper_Res_Icon_Add, #AutoIt3Wrapper_Icon, #AutoIt3Wrapper_outfile, avec et sans chemin relatif, etc...

Quelqu'un saurait-il m'aiguiller? Merci d'avance !

ZDS

Re: [..] Icone à la compilation

Posté : lun. 13 sept. 2010 12:28
par Jerome
Coucou,

Ceci fonctionne chez moi :

Code : Tout sélectionner

GUISetIcon(@ScriptDir&"\icon.ico")
TraySetIcon(@ScriptDir&"\icon.ico")
Icone format 16*16.




Jérôme

Re: [..] Icone à la compilation

Posté : lun. 13 sept. 2010 14:16
par ZDS
Salut Jérôme. Ce n'est pas du tout ce que je demande, toi tu parles d'icône à l'exécution, je parle d'icône à la compilation, celle qui apparait sur le fichier dans l'explorateur une fois le script compilé.

Re: [..] Icone à la compilation

Posté : lun. 13 sept. 2010 14:54
par Jerome
Coucou,

Autant pour moi ... :)

Quand tu compiles ton script, ne fait pas "compile script", mais plutôt "compile with option".
Tu as un champs Icon ou tu peux préciser l'icone que prendra ton éxécutable.




Jérôme

Re: [..] Icone à la compilation

Posté : lun. 13 sept. 2010 16:01
par ZDS
Re, désolé mais je pense que tu es encore à coté ^^

Ce que je cherche à faire, c'est rendre plus facile les actions de l'utilisateur quitte à me compliquer la tâche, ergonomie-&-friendly-user power ! Je souhaite que l'utilisateur en faisant une compilation toute simple (clic droit compile) se retrouve avec un programme joliment construit, avec l'icône que j'ai décidé dans les #AutoIt3Wrapper_. Si l'utilisateur final est contraint de faire un truc plus chiant que la GUI Auto2Exe, autant faire un appel à la ligne de commande depuis le script (ce que je trouve un chouia sale). Quoi que, le passage par "Compile with option" pourrait être intéressant si on pouvait le préremplir, mais apparemment ce n'est pas le cas (je connais déjà la source, la destination et l'icône, mais elles sont vides).

Autant rester dans le sujet, je souhaite utiliser les #AutoIt3Wrapper_XXXXXXXX, mais ça ne passe pas, où est l'erreur...?
U:\Script\Script.au3 :

Code : Tout sélectionner

#Region AutoIt3Wrapper directives section
#AutoIt3Wrapper_Icon=U:\Images\Icone.ico
#AutoIt3Wrapper_OutFile=C:\AutoIt\Executable.exe
#EndRegion

Re: [..] Icone à la compilation

Posté : lun. 13 sept. 2010 16:12
par Jerome
Coucou,

J'ai essayer aussi, et sa ne fonctionne pas aussi chez moi.

J'ai parcourut le forum anglais a la recherche d'une solution, mais il semblerait que ce que tu donnes déjà soit fonctionnelle.
Donc je ne sait pas pour le moment.

Je poursuit mes recherches sur le fofo anglais ...


PS : Sinon au lieu de faire click droit => compiler, tu peux directement faire F7 quand tu es dans le script, ce qui prend en charge #AutoIt3Wrapper_Icon


Jérôme

Re: [..] Icone à la compilation

Posté : lun. 13 sept. 2010 18:51
par Tlem
Afin de prendre en compte les options #AutoIt3Wrapper, vous devez compiler avec C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe et non avec C:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe.

Pour plus d'informations, cherchez dans l'aide de Scite (C:\Program Files\AutoIt3\SciTE\Scite4AutoIt3.chm).

Re: [..] Icone à la compilation

Posté : ven. 17 sept. 2010 11:12
par ZDS
Bonjour Tlem (désolé pour le délai).

Merci pour ta réponse, même si ce n'est pas ce que je souhaitais entendre ^^ Je ne voulais pas utiliser AutoIt Wrapper, car par défaut il n'est pas présent dans une installation "classique" d'AutoIt (absent du package 3.3.6.1), donc tant pis si on ne peut pas faire autrement (c'était pour simplifier l'utilisation pour le "client" final, si c'est pour la compliquer au final en demandant installer encore un autre truc, je laisse tomber).

J'ai résolu mon problème en passant dans le code du programme un appel à la ligne de commande suivante :

Code : Tout sélectionner

"C:\Program Files\AutoIt\Aut2Exe\Aut2Exe.exe" /in U:\Script\Script.au3 /out C:\AutoIt\Executable.exe /icone U:\Images\Icone.ico /comp 4
depuis un sous-script, puisque bloquant si on souhaite un retour de code d'erreur, ou interrompre la compilation par une simple touche. Je vous fournis le code ci dessous, ça pourra toujours être utile à quelqu'un :

"Lancement Compilation.au3" :
► Afficher le texte
A ajouter au script à compiler , exemple "Script.au3" :
► Afficher le texte
Fonction à ajouter à "Script.au3", pour faire l'interface :
► Afficher le texte
Merci encore ! Je passe le post en [R]ésolu.

ZDS

PS: il y a moyen de faire plus "simple", mais séparer les blocs de code réutilisable en fonction, et limiter les indentations à 5 TAB maximum, est une bonne méthode de prog, surtout en Java ^^
PS2: Ca peut paraitre bizarre comme code, mais on a le choix pour lancer la compilation entre Run (qui retourne le PID, mais permet de continuer le script) et RunWait (qui retourne le code de sortie, mais bloque le script). Ce bout de code permet de récupérer le code d'erreur de la compilation tout en continuant le script, et donc forcer son arrêt, utile quand c'est trop long.

Re: [R] Icone à la compilation

Posté : ven. 17 sept. 2010 18:29
par Tlem
Vous n'êtes pas obligé d'installer d'autres choses. Il vous suffit d'inclure avec votre script le programme AutoIt3Wrapper.exe et éventuellement ses dépendances si il y en a (ce dont je ne suis pas sur).
Ce n'est pas pire que de ce coltiner Aut2exe.exe. ;)

Re: [R] Icone à la compilation

Posté : ven. 17 sept. 2010 18:44
par BlueCore
Salut ZDS.

Pour répondre à Tlem, tu peut simplement inclure ResHack.exe et créer un fichier .RC.
Si ça t'intéresse (tu pourra alors rajouter commentaire, icône, version et autres) réponds à ce message, je développerais.

- BlueCore

Re: [R] Icone à la compilation

Posté : ven. 17 sept. 2010 18:47
par Tlem
J'avais pensé à cette réponse, mais si vous lisez la question d'origine, ZDS souhaitait que les directives #AutoIt3Wrapper_XXXXXXXX soient interprétées ...
Et là, seul AutoItWrapper peut faire le job. ;)

Re: [R] Icone à la compilation

Posté : sam. 18 sept. 2010 01:34
par ZDS
Re bonsoir,

Pour AutoIt wrapper, ce que je voulais dire, c'est qu'il n'est pas présent dans le répertoire où que ce soit suite à une installation classique d'AutoIt (je ne parle pas de SciTE, juste AutoIt, un développeur a besoin des deux, mais l'utilisateur final n'a pas à s'en****er avec un install en plus que l'interpréteur/compilateur).
Le fichier fourni par le lien "normal" suivant http://www.autoitscript.com/autoit3/downloads.shtml n'installe pas cet exécutable. Je ne peux donc pas utiliser une fonctionnalité qui n'existe pas ou n'est pas disponible par défaut. Pour l'obtenir il faudrait télécharger EN PLUS l'install de SciTE4AutoIt3, si pour chaque fonctionnalité l'utilisateur doit installer un logiciel en plus on est pas sorti du sable.

Donc merci, la réponse est la bonne pour un "vendeur" (utiliser #AutoItWrapper pour un problème de compilation => installer SciTE4AutoIt un outil de développement, c'est déjà un peu capillotracté, admettons le), mais pas pour le "client".

Re: [R] Icone à la compilation

Posté : sam. 18 sept. 2010 09:31
par Tlem
:shock:
J'avoue ne pas comprendre votre réflexion sur le fond.
Vous dites vouloir installer AutoIt chez l'utilisateur final. Mais cela dans quel but, car , http://www.autoitscript.com/autoit3/downloads.shtml installe l'ensemble des outils de base de développement de AutoIt !
Est-ce à dire que l'utilisateur final à besoin aussi de développer ?

Finalement, j'entrevois trois possibilités :
  • 1 - L'utilisateur final ne doit pas faire de développement et vous devez diffuser vos scripts compilés.
    Alors l'installation de AutoIt n'est pas nécessaire.

    2 - L'utilisateur final ne doit pas faire de développement, mais vous voulez diffuser vos scripts non compilés.
    Alors seul AutoIt.exe est nécessaire.

    3 - L'utilisateur final doit pouvoir faire du développement et compiler des scripts.
    Alors je ne vois pas vraiment quel est le problème à l'installation de deux softs super simple et de taille plutôt réduite (vous pouvez aussi scripter l'installation des deux softs pour qu'elle soit transparente).
Sachez aussi, que sur le forum il existe un Pack complet qui s'occupe de tout, y compris la francisation de certains UDF. :roll:
ZDS a écrit :Donc merci, la réponse est la bonne pour un "vendeur" (utiliser #AutoItWrapper pour un problème de compilation => installer SciTE4AutoIt un outil de développement, c'est déjà un peu capillotracté, admettons le), mais pas pour le "client".
Rien à voir.
Vous demandez à utiliser une fonctionnalité propre à AutoIt3Wrapper, je vous répond donc que vous devez avoir AutoIt3Wrapper à disposition.
C'est comme si vous vouliez utiliser une commande du genre Grep sous Windows.
A la base ce n'est pas possible. Pour y arrivé, vous devez installer CygWin. :P