Pb avec passages de parametres (WIN32)

mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023 - 22 févr. 2006 à 20:58
cs_Xaviou Messages postés 154 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 2 octobre 2009 - 24 févr. 2006 à 19:18
Bonjour



j'ai un pb avec une variable qui ne semble pas passer en parametres :

j'ai 3 fichiers :

-1 fichier main.cpp

-1 fichier ajout.h

-1 fichier ajout.cpp





dans le fichier main, j'appelle une methode contenu dans ajout

sauf que dans la methode contenue de ajout, je ne recupere rien du contenu

alors qu'avant l'appel de la methode dans le main, le contenu de VariableIn est correct



dans le .h, j'ai :

int Ma_methode(LPBYTE VariableIn, LPBYTE VariableOut);



dans le .cpp, j'ai

int Ma_methode (LPBYTE VariableIn, LPBYTE VariableOut)

{

....

}



dans le fichier main :

int Resultat;

LPBYTE Ma_ressource, Nouv_ressource;

Ma_ressource = FindResource(0, (LPCTSTR)IDR_IMG, "IMAGE");

Resultat = Ma_methode (Ma_ressource, Nouv_ressource);





où est mon erreur ?

merci

4 réponses

cs_Xaviou Messages postés 154 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 2 octobre 2009
22 févr. 2006 à 22:23
As-tu testé le résultat de FindResource ?
Si la méthode échoue, ta variable Ma_resource contient la valeur NULL
De plus, essayes de spécifier un type prédéfini de resource (par exemple, RT_BITMAP, ou RT_ICON au lieu de "IMAGE"
Troisième possibilité : je crois bien qu'il faut d'abord charger la resource en mémoire avec la fonction LoadResource avant de pouvoir l'utiliser.
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
23 févr. 2006 à 20:22
j'ai testé le résultat de FindResource, il est bien different de NULL

pour le type de resource, ma definition est correcte, meme si je pourrais utiliser les types predefinis :-)



pour le chargement de la ressource en memoire, je vais voir ce que ca donne ;-)
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
23 févr. 2006 à 20:33
bon en effet, je l'avais mis le LoadResource, donc toujours au meme point



dans le fichier main :

int Resultat;

HRSRC Ma_ressource_source;



LPBYTE Ma_ressource, Nouv_ressource;

Ma_ressource_source = FindResource(0, (LPCTSTR)IDR_IMG, "IMAGE");

Ma_ressource = (LPBYTE)LoadResource(0, Ma_ressource_source);



Resultat = Ma_methode (Ma_ressource, Nouv_ressource);
0
cs_Xaviou Messages postés 154 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 2 octobre 2009
24 févr. 2006 à 19:18
Je crois que j'ai trouvé :

HRSRC Ma_ressource_source=FindResource(NULL,(LPCTSTR)IDR_IMG,"IMAGE");

HGLOBAL hgDatas=LoadResource(NULL,Ma_ressource_source);

LPBYTE Ma_ressource=(LPBYTE)LockResource(hgDatas);

int Resultat=MaMethode(Ma_ressource,Nouv_ressource);

Normalement, ça devrait marcher...
0
Rejoignez-nous