| [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue | |
|
|
Auteur | Message |
---|
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 8:21 | |
| Bonjour,
Dès 8h00 du matin, je suis devant un souci dont je n'ai pas encore trouvé la solution.
Je pose le problème : pour créer une application autonome, il est impératif de placer les ressources externes (BMP,TXT) dans le même dossier que le code source (qui est aussi le dossier par défaut). Ce dernier y accèdera alors par un chemin relatif du style load_file mypicture%,"pouet.bmp". Jusque là tout va bien.
MAIS si jamais le programme accède à un autre dossier, généralement avec la commande FILE_SAVE, alors PANORAMIC utilise ce nouveau dossier comme dossier par défaut (alors que je ne lui ai rien demandé) et mon load_file mypicture%,"pouet.bmp" génère une erreur : Fichier non trouvé ! . Mais je ne peux pas utiliser de chemin absolu pour l'image sinon je ne peux pas créer d'application autonome.
Qui pourra m'aider à sortir résoudre ce serpent qui se mange la queue ?
Merci.
Dernière édition par Fredisland le Ven 27 Avr 2018 - 11:53, édité 2 fois | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 8:24 | |
| Je viens de te répondre sur un autre post: 1/ Au lancement du programme => mémoriser le répertoire courant dans une variable 2/ Utilisation d'une chaine de caractère pour le chemin composé de cette variable et du chemin relatif | |
|
| |
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 8:37 | |
| - Jicehel a écrit:
- Je viens de te répondre sur un autre post:
1/ Au lancement du programme => mémoriser le répertoire courant dans une variable 2/ Utilisation d'une chaine de caractère pour le chemin composé de cette variable et du chemin relatif C'est la première chose que j'ai faite. Mais mémoriser le dossier courant mémorise un chemin ABSOLU. Or, ce chemin absolu, l'application autonome n'en veut pas, parce que les ressources internes sont ensuite accessibles en mémoire au même niveau que le code source interprété. | |
|
| |
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 18:35 | |
| Etrange. Et si tu places - Code:
-
dir_change "répertoire de l'application" avant le 'file_load', est ce que ça marche? | |
|
| |
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 18:41 | |
| - silverman a écrit:
- Etrange. Et si tu places
- Code:
-
dir_change "répertoire de l'application" avant le 'file_load', est ce que ça marche? Aucun changement. Il y a un terrible conflit entre les chemins relatifs absolus. Mais je pense avoir trouvé une solution : je vais créer en mémoire des copies de chaque image, et il me suffira d'aller les chercher au lieu de puiser sur le disque dur. Pour cela, j'utiliserai les fonctions 2D_IMAGE_COPY N,X1,Y1,X2,Y2 et 2D_IMAGE_PASTE N,X,Y. Le code devrait être à peine plus lourd si j'organise bien le truc. | |
|
| |
Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 19:06 | |
| @Fredisland: Je répète ce que je disais le 18 avril: - Citation :
- FILE_LOAD recherche le fichier d'abord dans l'exécutable puis dans le répertoire de l'exécutable si le nom de fichier est relatif. Si le nom du fichier est absolu, il va chercher directement le fichier sur le support (disque dur, clé usb, CD, DVD, etc) sans le chercher dans l'exécutable.
Dans TOUS les cas, FILE_LOAD va chercher le fichier BMP dans les ressources de l'exécutable. Il n'est pas influencé par un changement de répertoire. Si tu crois avoir troué un bug, isole ce bug dans un source de quelques lignes pour que je puisses l'examiner et le corriger. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Jeu 26 Avr 2018 - 20:00 | |
| - Jack a écrit:
- @Fredisland:
Je répète ce que je disais le 18 avril: - Citation :
- FILE_LOAD recherche le fichier d'abord dans l'exécutable puis dans le répertoire de l'exécutable si le nom de fichier est relatif. Si le nom du fichier est absolu, il va chercher directement le fichier sur le support (disque dur, clé usb, CD, DVD, etc) sans le chercher dans l'exécutable.
Dans TOUS les cas, FILE_LOAD va chercher le fichier BMP dans les ressources de l'exécutable. Il n'est pas influencé par un changement de répertoire. Si tu crois avoir troué un bug, isole ce bug dans un source de quelques lignes pour que je puisses l'examiner et le corriger. Ok j'appréhende désormais mieux le truc et je te remercie pour ce complément d'infos. Je peux retravailler mon source en conséquence. Merci. | |
|
| |
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue Ven 27 Avr 2018 - 12:45 | |
| Je reviens de nouveau à la charge. Je confirme le bon fonctionnement de l'application générée. Le souci subsiste avec un code en cours de saisie dans l'éditeur. Mais ce souci est peut-être incontournable : - Code:
-
picture 1 file_load 1,"1.bmp" save_dialog 2 : dim nom$ synedit 3 : top 3,50
Message "Maintenant il faut sauver le contenu du synedit dans un dossier" + chr$(13) + "AUTRE que le dossier où se situe le code source" nom$=file_name$(2)
Message "Maintenant, un message d'erreur va notifier que l'image ne peut plus être chargée" file_load 1,"1.bmp" Comme on le remarque à l'utilisation, l'éditeur retrouve sans problème l'image 1.bmp tant que la boite de dialogue de sauvegarde ne cherche pas plus loin que le dossier de l'image. SI le contenu du synedit est enregistré sur le bureau par exemple, alors l'éditeur modifier le dossier par défaut de l'application et ne retrouve plus l'image, au lieu de rester sur le dossier où est située le code source, tout simplement. J'espère parvenir à me faire comprendre. | |
|
| |
Contenu sponsorisé
| Sujet: Re: [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue | |
| |
|
| |
| [RÉSOLU] DOSSIER EN COURS : le serpent qui se mange la queue | |
|