Forum » » Création-Développement » » [Résolu] - zzd10h : updates de programmes
Posté : 11-05-2013 16:53
Ok alors ça vient de là. En fait System lance un nouveau shell qui va exécuter la commande que tu lui passes.
Dans l'autodoc il est dit que le shell hérite du répertoire courant de ton processus, or quand tu es sous un shell et que tu lances AppDir:XYZ alors que tu te trouves dans RAM:T le répertoire courant de XYZ sera RAM:T et pas PROGDIR: Cela explique pourquoi cela ne parchait pas quand tu mettais juste "Data/RageMem".
Maintenant pourquoi ça ne marche pas avec PROGDIR: ? simplement parce que celui qui interprete PROGDIR: c'est le Shell et par conséquent PROGDIR: sera interprété comme SYS:System.
Une solution est de faire ce que tu as fait en rajoutant GetProgramDir() en préfixe à chaque fois, ou alors de faire un CurrentDir() sur GetProgramDir() au début du programme et le tour est joué (par contre il faut penser à remettre l'ancien répertoire avant de quitter sous peine d'avoir des plantages étranges (DOS.library ne fait pas la vérif est assume que le répertoire après exécution est le meme qu'avant...).
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1464&forum=14