[R] Chemin de lancement d'un exécutable.
Posté : sam. 17 janv. 2015 16:33
[Résolu, mais pas expliqué..]
Bonjour.
Dans plusieurs de mes programmes, j'utilisais la commande suivante pour lancer un programme externe situé dans un autre répertoire, mais au même niveau que le script qui le lance:
Run (@Scriptdir & "\..\RepertoireDuProgrammeA_Lancer\Programme.exe")
la présence du @Scriptdir protège d'un éventuel changement de "Working Directory" par un "FileOpenDialog", par exemple, toujours piégeux.
Cette commande était équivalente à :
Run (D:\UnRepertoire\RepertoireDuScript\..\RepertoireDuProgrammeA_Lancer\Programme.exe)
Et, bien qu'un peu "curieuse" (encore que...), fonctionnait correctement, jusqu'au jour ou (ce matin), justement... ça ne fonctionne plus (et ceci sur plusieurs de mes programmes, dont certains que je n'ai pas touché, mais utilisé sans soucis ces jours-ci).
Le remplacement par:
FileChangeDir(@ScriptDir) ;-- Fixe la "Working Directory" à "@scriptdir"
Run ("..\RepertoireDuProgrammeA_Lancer\Programme.exe")
Remet les choses en ordre.
Avez-vous rencontré ce problème, et si oui, à votre avis, quelle en est la cause ...?
Certes, j'ai rétabli la situation, mais j'aimerais bien expliquer la chose.
Merci pour votre analyse et vos avis.
M.C.
Edit: pour illustrer le problème, des scripts de test.
Test 1: le "Process 2" n'est pas exécuté,
Test 2: le "Process 2" est correctement exécuté.
Je confirme que j'ai, depuis fort longtemps, toujours codé comme dans le "Test 1", et jusqu'à ce matin, ça fonctionnait nickel.
Mon PC aurait-il coulé une bielle ?
Bonjour.
Dans plusieurs de mes programmes, j'utilisais la commande suivante pour lancer un programme externe situé dans un autre répertoire, mais au même niveau que le script qui le lance:
Run (@Scriptdir & "\..\RepertoireDuProgrammeA_Lancer\Programme.exe")
la présence du @Scriptdir protège d'un éventuel changement de "Working Directory" par un "FileOpenDialog", par exemple, toujours piégeux.
Cette commande était équivalente à :
Run (D:\UnRepertoire\RepertoireDuScript\..\RepertoireDuProgrammeA_Lancer\Programme.exe)
Et, bien qu'un peu "curieuse" (encore que...), fonctionnait correctement, jusqu'au jour ou (ce matin), justement... ça ne fonctionne plus (et ceci sur plusieurs de mes programmes, dont certains que je n'ai pas touché, mais utilisé sans soucis ces jours-ci).
Le remplacement par:
FileChangeDir(@ScriptDir) ;-- Fixe la "Working Directory" à "@scriptdir"
Run ("..\RepertoireDuProgrammeA_Lancer\Programme.exe")
Remet les choses en ordre.
Avez-vous rencontré ce problème, et si oui, à votre avis, quelle en est la cause ...?
Certes, j'ai rétabli la situation, mais j'aimerais bien expliquer la chose.
Merci pour votre analyse et vos avis.
M.C.
Edit: pour illustrer le problème, des scripts de test.
Test 1: le "Process 2" n'est pas exécuté,
Test 2: le "Process 2" est correctement exécuté.
Je confirme que j'ai, depuis fort longtemps, toujours codé comme dans le "Test 1", et jusqu'à ce matin, ça fonctionnait nickel.
Mon PC aurait-il coulé une bielle ?