1

Voici mon problème:
La portion de code ci dessous marche sous GeePee32 v0.40, mais pas sur ma GP 32confus
l'ouveture du fichier est réussie mais le premier GpFileRead échoue, j'obtient juste à près l'exécution de cette ligne (en trafiquant un peu le porgramme):
i=0
tag={0, ...}
GpReadFile renvoi le code erreur 11 ( ERR_INVALID_PARAM )

voici la portion de code:

flip_lcd,wait_start,fade_out sont des macros
formula1_path est une constante et vaut "gp:\gpmm\formula1"
error est une variable globe (pour afficher un message d'erreur et quitter le prog sereinement même en cas d'erreur)
// Les prototypes int load_file(void*, const char*, const char*); void charger_images(void); // Chargement d'un fichier int load_file(void *dest, const char *p_file, const char *type) {      char chemin[256], tag[5]={0, 0, 0, 0, '\0'};      int key;     // utilisée dans wait_start      unsigned long size, i;      F_HANDLE *file=NULL;      gm_strcpy(chemin, formula1_path);      gm_strcat(chemin, "\");      gm_strcat(chemin, p_file);      if(GpFileOpen(chemin, OPEN_R, file))      {           error=3;           goto end;      }      if (gm_compare(tag, GPG_TAG))      {           error=3;           goto end;      }      GpFileRead((F_HANDLE)*file, &size, 4, (ulong*)&i);      if (i!=4)      {           error=3;           goto end;      }      GpFileRead((F_HANDLE)*file, dest, (ulong)size, (ulong*)&i);      if (i!=(ulong)size)      {           error=3;           goto end;      } end:      if (file) GpFileClose(*file);      return error; } // Chargement de toutes les images necessaires au jeu void charger_images(void) {      int i, key;      // Chargement des images      load_file((char*)car1, "CAR1.GPG", GPG_TAG);      load_file((char*)car2, "CAR2.GPG", GPG_TAG);      load_file((char*)card1, "CARD1.GPG", GPG_TAG);      load_file((char*)card2, "CARD2.GPG", GPG_TAG); end:      disp_msg("Passage dans \"charger_images\"", BLEU);      flip_lcd();      wait_start();      fade_out(); }

J'aimerais que vous m'aidiez à trouver l'origine du bogueconfus

Merci d'avance
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

2

Oups une erreursmile
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

3

Personne ne peux m'aiderwhat
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

4

tu as fait un gpfatinit ??
Yenaphe point info

5

bien sur!!!!
J'ai tout fais comme il faut je pense
appel à GpFatInit, et même à GpSMCDetected
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

6

J'ai trouvé l'origine du "bogue"roll
En fait c'est une erreur de programmation. Elle se trouve à la ligne:
F_HANDLE *file=NULL;
Je déclare ce pointeur et GpFileOpen modifie la variable à l'adresse pointée par ce pointeur, mais comme il ne pointe vers riens ben ça marche pas, maintenant en le trasformant en simple F_HANDLE et en passant à toutes les fonction &file ça marche impecoui
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

7

cool smile
Yenaphe point info