| lier une extension de fichier à mon exécutable | |
|
|
Auteur | Message |
---|
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 20:17 | |
| Bonjour,
J'ai tenté de lier à mon exécutable les fichiers qu'il crée, portant une extension propre à eux, dans l'intention de permettre aux utilisateurs d'ouvrir mon exécutable en double-cliquant sur leurs noms. Tout comme un double-clic sur un fichier d'extension .txt ouvre Notepad ou qu'un double-clic sur un fichier d'extension .doc ouvre Word.
J'obtiens alors l'erreur : 32 Illegal instruction Line 1
Bien entendu, je n'ai pas les moyens de voir la première ligne de mon programme compilé, et bien incapable de savoir la raison de ce dysfonctionnement alors que mon exécutable fonctionne à merveille.
Je vous remercie si vous avez une idée sur cette question. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 20:48 | |
| | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 20:54 | |
| Cette fois-ci la question correspond à la réponse que tu avais donné. Mais j'avoue que pour ce cas précis je ne vois pas pourquoi ça ne marche pas. ?
L'erreur est manifestement donnée par l'interpréteur Panoramic, quelque chose ne lui plaît pas à la 1ère ligne du programme (source)...
Dernière édition par JL35 le Ven 1 Juin 2012 - 20:58, édité 1 fois | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 20:57 | |
| Non, là le problème est différent. Dans le post que tu rappelles, je ne parvenais pas à ouvrir le programme Notepad par exemple avec un execute fichier.txt Finalement je me suis aperçu que j'avais codé incorrectement.
Cette fois-ci, je n'arrive pas à lancer l'exécutable que j'ai créé avec Panoramic en cliquant sur un fichier créé par ce même exécutable et auquel j'ai adjoint une extension toute personnelle, bien sûr après avoir déclaré le lien dans le registre de Windows. Fenêtre d'erreur : 32 Illegal instruction Line 1 | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 20:58 | |
| | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 21:03 | |
| En effet...
Je me demande si un exécutable peut être lancé forcément par un clic sur un fichier associé. Peut-être que cette possibilité doit être codée. Et en ce cas, comment ? Voilà la question... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: lier une extension de fichier à mon exécutable Ven 1 Juin 2012 - 21:05 | |
| Oui, puisque tu lances bien ton programme, et que c'est dans ton programme que ça part en erreur, à voir pourquoi... Lance le programme suivant (une seule ligne): - Code:
-
TOTO 1,2 et tu obtiens bien (32) Illegal instruction. Line:1 tout pareil. | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: lier une extension de fichier à mon exécutable Sam 2 Juin 2012 - 8:20 | |
| Bonjour,
Quand je lance mon exécutable directement, je n'obtiens pas d'erreur. Mais si je le lance par un fichier auquel je l'ai associé, j'obtiens l'erreur. La ligne 1 est la même dans les deux cas. Cette ligne 1 est celle-ci : dim tablo$(14), a%, L% , objet%, a$, b$ Donc, ça ne vient pas de mon exécutable. Sinon, j'obtiendrais toujours l'erreur. J'en conclus que mon exécutable ne supporte pas d'argument. Et ma question est : comment code-t-on une telle chose ?
| |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: lier une extension de fichier à mon exécutable Sam 2 Juin 2012 - 8:44 | |
| J'ai fais un essai sous XP et je me retrouve avec le même message d'erreur. Par contre, si tu choisis Panoramic_Editor comme exécutable associé, çà marche. Pourquoi: parce-que. Là, je sèche. A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: lier une extension de fichier à mon exécutable Sam 2 Juin 2012 - 19:41 | |
| Pour accepter un paramètre, on utilise PARAM_NUMBER et PARAM_VALUE$(). PARAM_NUMBER donne le nombre de paramètres, et PARAM_VALUE$(n) donne le n-ième paramètre en format string. Le paramètre 0 est le chemin vers le programme lui-même. As-tu essayé de lancer ton programme en mode commande, avec le nom de fichier en paramètre ? | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: lier une extension de fichier à mon exécutable Sam 2 Juin 2012 - 20:20 | |
| Bonsoir Klaus, - Klaus a écrit:
- Pour accepter un paramètre, on utilise PARAM_NUMBER et PARAM_VALUE$(). PARAM_NUMBER donne le nombre de paramètres, et PARAM_VALUE$(n) donne le n-ième paramètre en format string. Le paramètre 0 est le chemin vers le programme lui-même.
Peux-tu me donner un petit bout de code m'indiquant comment utiliser ces fonctions dans un fichier .bas ? Je te remercie. J'ai écrit ça dans mon fichier, mais ça ne marche pas (fichier$ étant la variable supposée contenir l'argument déclaré au lancement de l'exécutable) : - Code:
-
fichier$ = param_value$(1)
- Klaus a écrit:
As-tu essayé de lancer ton programme en mode commande, avec le nom de fichier en paramètre ? oui, j'obtiens l'erreur : 32 Illegal instruction Line 1 | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: lier une extension de fichier à mon exécutable Sam 2 Juin 2012 - 21:20 | |
| Voilà le code que tu souhaites: - Code:
-
' test_mode_commande.bas dim par$, n%, i% n% = param_number message "Le programme est appelé avec "+str$(n%)+" paramètres." if n%>0 for i%=1 to n% par$ = param_value$(i%) message "Le paramètre no. "+str$(i%)+" = "+par$ next i% end_if terminate end
Il faut créer l'exécutable à partir de ce source, puis le lancer en mode commande (mode dos dans le répertoire où il est), ou alors par EXECUTE à partir d'un programme Panoramic via l'éditeur. Si tu l'appelles SANS paramètres, tout marche bien. Dès que tu mets un paramètre, on a exactement le message d'erreur que tu décris. Or, j'utilise cette construction depuis longtemps, et je découvre qu'avec le Panoramic actuel, il y a un bug. Car s'est bien d'un bug qu'il s'agit, et je pense que Jack devrait regarder cela de près. | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: lier une extension de fichier à mon exécutable Dim 3 Juin 2012 - 9:21 | |
| Bonjour Klaus et merci pour ton code qui fonctionne en mode console. J'ai encore appris quelque chose de plus.
Toutefois ça ne résout pas ma question initiale (double-clic sur le fichier-argument pour lancer l'exécutable). S'il s'agit d'un bug panoramic, je pouvais en effet lutter encore longtemps.
Merci encore pour ton temps et ta patience. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: lier une extension de fichier à mon exécutable Dim 3 Juin 2012 - 9:41 | |
| Si j'ai fait cet exemple, c'est qu'un double_clic sur un fichier utilise l'association de Windows entre une extension et un exécutable, et dès qu'une telle association est trouvée, Windows lance l'exécutable avec le chemin vers ce fichier comme paramètre numéro 1. C'est donc rigoureusement identique. Pour prendre cette fonctionnalité en compte, il faut faire exactement ce qui est fait dans mon petit exemple, et on peut le tester en mode commande, avant de toucher aux association mémorisées de Windows.
Il s'agit bien d'un bug, et pour moi, il est nouveau. | |
|
| |
ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: lier une extension de fichier à mon exécutable Dim 3 Juin 2012 - 11:18 | |
| A propose des bugs : il arrive assez souvent qu'au lancement de mon exécutable une fenêtre d'erreur affiche : "Cannot open file c:\mondossier\monexecutable.exe"
J'ai remarqué que ce message s'affiche lorsque le processus n'a pas été tué à la fermeture précédente de l'exécutable, quoique je sorte toujours régulièrement du programme par un "TERMINATE". Je ne parviens pas à savoir pourquoi certaines fois le processus est bien tué et à l'ouverture suivante pas de message d'erreur, et d'autres fois le processus n'est pas tué et j'ai alors droit au message d'erreur.
Le message d'erreur s'affiche à coup sûr au lancement qui suit une installation. Pourtant là, on ne peut pas dire que le processus est toujours en activité. C'est à rien y comprendre. De plus, c'est vraiment gênant. L'utilisateur a là un premier accueil plutôt décourageant. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: lier une extension de fichier à mon exécutable Dim 3 Juin 2012 - 11:54 | |
| Honnêtement, je ne pense pas que Jack va rechercher beaucoup sur ce type de problème pour le moment, car cela sera radicalement différent avec la version 1 au niveau du fonctionnement pour ce que j'en comprends. Enfin, c'est juste mon avis, je peux me tromper puisque Jack aime exterminer les bugs aussi ... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: lier une extension de fichier à mon exécutable Dim 3 Juin 2012 - 11:57 | |
| Oui, ça m'arrive aussi. Je pense que c'est lié à une erreur de répertoire. Pas celle du programmeur, mais une erreur dans le noyau de Panoramic, qui doit chercher un répertoire spécifique. Je tenterai de repérer ça au prochain plantage. Cela arrive aussi bien au lancement de l'éditeur lui-même, qu'au lancement d'un programme par l'éditeur et au lancement d'un programme Panoramic compilé en EXE. C'est un problème vraiment général. | |
|
| |
Contenu sponsorisé
| Sujet: Re: lier une extension de fichier à mon exécutable | |
| |
|
| |
| lier une extension de fichier à mon exécutable | |
|