[Résolu] Répertoires et mac os x Lion

Programmation d'applications complexes
Avatar de l’utilisateur
DjPoke
Messages : 121
Inscription : mar. 02/nov./2010 13:53
Localisation : Corte, Corse, France
Contact :

[Résolu] Répertoires et mac os x Lion

Message par DjPoke »

Bonjour,

J'ai un problème qui semble être lié à mac os x Lion :
GetCurrentDirectory() me renvoie un / tout seul au lieu de me renvoyer le répertoire de l'application.
Du coup, je ne peux charger d'images via LoadImage.

Une idée de ce que je peux faire, s.v.p ?
Merci

EDIT:
Bon ben finalement j'ai utilisé CatchImage, et ça, ça fonctionne mieux.
Dernière modification par DjPoke le lun. 28/nov./2011 6:07, modifié 1 fois.
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Répertoires et mac os x Lion

Message par gnozal »

DjPoke a écrit :J'ai un problème qui semble être lié à mac os x Lion :
GetCurrentDirectory() me renvoie un / tout seul au lieu de me renvoyer le répertoire de l'application.
Bonjour,

je n'ai pas de mac, mais :

- GetCurrentDirectory() ne renvoie pas le répertoire de l'application, mais le répertoire courant (comme son nom l'indique).

- ProgramFilename() renvoie le nom de l'exécutable, y compris le chemin. Il reste à faire GetPathPart() pour obtenir le répertoire de l'application.
Avatar de l’utilisateur
DjPoke
Messages : 121
Inscription : mar. 02/nov./2010 13:53
Localisation : Corte, Corse, France
Contact :

Re: Répertoires et mac os x Lion

Message par DjPoke »

Merci gnozal, je vais tester de suite.

Edit :

Hélas, à mon avis c'est un probleme lié à OS X Lion.
GetCurrentDirectory()

Renvoie le chemin du répertoire courant de l'application. Tous les accès aux fichiers sont relatifs à ce répertoire quand un chemin absolu n'est pas spécifié. SetCurrentDirectory() peut être utilisé pour changer le répertoire courant.
Cette fonction renvoie une chaîne vide dans le cas très improbable d'un échec.
Mon programme est dans le répertoire "Documents/Mes Programmes" pour l'instant, et j'essaye de charger des images dans un dossier relatif à celui-ci.

Ce qui est étrange, c'est que cela marche quand je compile sous PB, mais dès que je crée un executable, il ne trouve plus le dossier.
Il me manque peut être une directive de compilation liée aux droits administrateur alors ?

ReEdit:

Problème résolu de la manière suivante pour mac os x :

Code : Tout sélectionner

currentdir$=GetCurrentDirectory()
dd$=GetPathPart(ProgramFilename())
If FindString(dd$,GetTemporaryDirectory(),1)=0
  SetCurrentDirectory(dd$)
  If LCase(Right(dd$,Len("contents/macos/")))="contents/macos/"
    SetCurrentDirectory("..")
    SetCurrentDirectory("..")
    SetCurrentDirectory("..")
    currentdir$=GetCurrentDirectory()   
  EndIf
EndIf
currentdir$ contient alors le répertoire de l'application pour mac os x.
Répondre