website logo
Auteur
avatar
alex

Forum » » Création-Développement » » [Résolu] - zzd10h : updates de programmes


Posté : 11-05-2013 16:53 icone du post

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