Bonjour,

j'utilise SDL sous Windows Mobile 5 et ça marche plutôt bien. (http://emreburhan.com/blog/?p=159)
Je rencontre cependant un problème assez important avec la fonction IMG_Load()

Le bout de code suivant ne fonctionne pas lorsque l'application est lancée depuis la carte de stockage externe (Storage Card) du téléphone mobile (Pocket PC).
(...par contre il fonctionne à merveille lorsqu'il est exécuté depuis la mémoire principale du Pocket PC,... bizarre non?)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
	char sModuleDir[200];
	char sFileName[200];
	WCHAR wsBuf[200];
	SDL_Surface *gSurf=NULL;
 
	//let's retrieve the directory...
 
	GetModuleFileName(NULL,wsBuf,200);
	wcstombs(sModuleDir,wsBuf,200);
	char * ptr = strrchr(sModuleDir,'\\');
	*ptr = '\0';
 
	//...and load the pix..;
 
	sprintf(sFileName,"%s\\Image.bmp",sModuleDir);
	gSurf = IMG_Load(sFileName);
 
	if(!gSurf) printf(IMG_GetError());
Le mesage d'erreur retourné est: "Couldn't open \Ma Mémoire\Image.bmp"

Je n'ai plus aucune idée/piste pour solutionner ce problème qui ne semble pas si trivial.

Le même fichier \Ma Mémoire\Image.bmp s'ouvre très bien comme fichier binaire non formaté avec ifstream::open.

Il semblerait donc que ce soit la fonction IMG_Load qui bute sur le "chemin d'accès" ??

Avez-vous une idée?

merci à l'avance

David