| execute + executable + argument | |
|
|
Auteur | Message |
---|
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: execute + executable + argument Mar 5 Juin 2012 - 19:52 | |
| Bonsoir Jack, J'ai discuté du problème dans un autre post. Je le réexpose ici pour que tu en prennes connaissance : Un execute suivi d'un exécutable + argument provoque l'erreur : - Code:
-
(32) Illegal instruction. Line:1
Je te remercie si tu peux éliminer cette erreur qui me coince. Peut-être que tu trouveras un petit peu de temps malgré le gros travail que tu prépares pour installer le nouveau compilateur. Je prie fort... Te remerciant pour ce que tu pourras faire... | |
|
| |
Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: execute + executable + argument Mar 5 Juin 2012 - 20:52 | |
| Oui, on en avait déjà parlé. Le problème vient de l'espace entre l'exécutable et l'argument. Il me semblait que ça avait été résolu.
Je regarde dès que je le peux. Je suis dans mes valises, prêt à partir plusieurs semaines en déplacement professionnel à l'étranger (Moyen-Orient). | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: execute + executable + argument Mar 5 Juin 2012 - 21:20 | |
| Merci de ton attention et surtout bon séjour si loin de notre beau pays ! | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: execute + executable + argument Mer 6 Juin 2012 - 8:59 | |
| Petite remarque qui peut servir peut-être : si l'argument est un littéral simple (exemple : "toto") l'argument passe bien. Mais si je mets un nom de fichier (ex :" toto.txt") là rien ne va plus. Ce petit point ferait-il toute la différence ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: execute + executable + argument Mer 6 Juin 2012 - 9:18 | |
| C'est vrai: il y a un problème. Même avec un litteral simple, il y a ce message. Cependant, le second programme est bien appelé avec le bon paramètre. Si tu fais caption 0,param_value$(1) dans le second programme, tu vois bien ton paramètre. Et pour passer des chaînes de caractères avec espaces ou caractères spéciaux, tu fais: execute_wait "monprogramme.exe "+chr$(34)+"/in:toto.dat /out:test.txt"+chr$(34) Tu auras toujours ce message dont j'ignore la provenance, mais le second programme recoit bien /in:toto.dat dans param_value$(1) et /out:test.txt dans param_value$(2).
| |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: execute + executable + argument Mer 6 Juin 2012 - 11:38 | |
| Qu'est-ce que ce /in: et ce /out: ? Est-ce indispensable ? Quand je mets ces choses-là, elles s'accolent au début du chemin (je le vois dans le message d'erreur). J'obtiens - Code:
-
/in:c:\dossier\toto.txt
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: execute + executable + argument Mer 6 Juin 2012 - 12:03 | |
| J'ai mis ça simplement pour montrer qu'on peut passer n'importe quoi: des noms de fichiers, des options (sous forme de /x ou -x), des textes simples, ... Dès l'instant qu'on veut passer en un seul paramètre des textes contenant des espaces, il fait les entourer par des guillemets. Chaque paramètre (simple ou chaîne entourée de guillemets) est récupéré dans PARAM_VALUE$(n), n étant le numéro du paramètre (1,2,...). PARAM_NUMBER retourne le nombre de paramètres disponbles. Et PARAM_VALUE$(0) donne le chemin vers le programme qui est en train de s'exécuter.
Donc: non, les /in et /out ne sont pas utiles - c'est juste à titre d'exemple oui, il y a toujours ce message d'erreur ce qui semble anormal oui, les paramètres sont bien passés au programme suivant et récupérables
| |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: execute + executable + argument Mer 6 Juin 2012 - 12:38 | |
| Sur la ligne de commande, tout se passe bien. mais dans un execute, toujours le message d'illegal instruction... Je vais abandonner cette façon de coder avant de péter un câble. Je vais mettre en argument uniquement le nom du fichier appelé sans l'extension. Puis dans le programme appelé, je vais reconstruire le nom de fichier complet en rajoutant l'extension. Du genre : fichier appelant (prog1.exe) : - Code:
-
point% = instr(fichier$,".") argu$ = left$(fichier$,point%-1) execute chemin$+"prog2.exe "+chr$(34)+argu$+chr$(34)
fichier appelé (prog2.exe) : - Code:
-
argu$ = param_value$(1) argu$ = argu$ + ".txt"
N.B. Le message d'erreur "Cannot open file ..." qui nous pourrit la vie au lancement des exécutables tout comme dans panoramic ne peut vraiment pas être éliminé ? Jack s'y est-il déjà attaqué en vain ? | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: execute + executable + argument Mer 6 Juin 2012 - 20:07 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: execute + executable + argument | |
| |
|
| |
| execute + executable + argument | |
|