cs_pounch
Messages postés12Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention22 novembre 2003
-
27 déc. 2002 à 19:30
cs_pounch
Messages postés12Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention22 novembre 2003
-
27 déc. 2002 à 21:51
Tout d'abord lu a tous :big)
comme j'en avais marre de chercher tout seul dans mon coin, ben j'a decidé de veindre :approve)
Bon voila mon problème, dev c++ ne connait pas la fonction InitializeFlatSB ( et donc tous les composant flat Scroll Bar).
Ces fonctions se trouve dans la dll comctl32.dll ( d'après cro$oft version 4.71 et plus ;) ).
Et voici donc ma question .......
comment fait-on pour aller chercher ces fonctions dans la dll ??? On plus généralement comment fait-on pour se linker avec une fonction d'une librairie ????????
cs_pounch
Messages postés12Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention22 novembre 2003 27 déc. 2002 à 20:24
j'avais déja essayé, mais en fait c'est que dev c++ n'a même pas les entêtes de fonction dans le .h qui devrais justement les contenir :sad) , en fait dev c++ ne support ces fonction de l'api window je crois :sad) .
jcecchi
Messages postés117Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention14 janvier 20033 27 déc. 2002 à 21:06
Bon OK. Il va donc falloir charger la dll dynamiquement. Voila les etapes :
1- Declare ta fonction :
typedef BOOL (MYINIT*) (HWND)
BOOL type de retour
MYINIT (ou ce que tu veux) alias de la fonction
HWND type des parametres d'entree (ici un seul)
2- Lorsque tu en as besoin il te faut :
HINSTANCE hLib;
MYINIT InitFnt;
3- Charge la dll
hLib = LoadLibrary("comctl32.dll");
Verifie que hLib != NULL
4- Charge la fonction :
InitFnt = (MYINIT) GetProcAddress(hLib, "InitializeFlatSB");
5- Utilise la fonction :
(InitFnt) (hWnd);
C'est comme ci que tu faisais :
InitializeFlatSB(hWnd);
6- Decharge la DLL :
FreeLibrary(hLib);
Voila, c'est lourd dingue mais si tu n'as que dev c++ y aura pas d'autre moyen.
cs_pounch
Messages postés12Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention22 novembre 2003 27 déc. 2002 à 21:14
HHHHHHHHHHHAAAAAAAAAAAAA NNNNNNNOOOOOONNNNNNN (crie de douleur !!!!!!!!)
y'a po d'autre moyen que ca parce que c'était le dernière espoir que j'avais avant de le faire et puis même ca sa marche po, sa compile mais sa plante lamentablement (violation d'accès !!!!! :sad) ) SNNNNNNNNNIIIIIIIFFFFFFFFFFFFFFFFFFFF
(au fait t'aurais po vu ca sur MSDN de Mr Gates ??? ;) )
Vous n’avez pas trouvé la réponse que vous recherchez ?
jcecchi
Messages postés117Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention14 janvier 20033 27 déc. 2002 à 21:40
Euh ecoute, je viens de verifier et ca marche tres bien. Es tu sur que hLib != NULL, parce que sinon la violation d'acces c'est normal.
Et oui c'est vrai l'etoile etait du mauvais cote.
Mais normalement ca doit marcher sans probleme.