API

Résolu
vbnino Messages postés 218 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 11 juillet 2010 - 22 août 2007 à 11:50
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 22 août 2007 à 13:39
Salut!

 -Commenr déclaré des API avec C++ , car j'ai écris ce code mais il me retourne ue erreur :
                     BOOL Beep(
                           DWORD dwFreq,
                           DWORD dwDuration
                                  );

2 réponses

cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
22 août 2007 à 13:11
Salut,

Si tu regardes la fonction Beep dans la MSDN :



Header |
Declared in Winbase.h; include Windows.h.




Cette fonction est déclarée dans windows.h. Tu as juste à l'inclure et le tour est joué.C
C'est surement pour cette raison que tu as une erreur, car si tu inclus windows.h et que tu declare Beep, la fonction sera déclarée 2 fois.

Il faut que tu perdes cette habitude VB de déclarer des API. En C/C++, les API sont déclarées dans des headers (la plupart du temps).

PS : "il me retourne une erreur" -> la prochaine fois, indique de quelle erreur il s'agit !

D@runia
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 août 2007 à 13:39
C'est clair qu'il faut utiliser les headers SDK de Windows.
C/C++ travaille en cdecl par défaut, ta déclaration de Beep() serait donc fausse et ton prog ferait une exception de pile.

ciao...
BruNews, MVP VC++
3
Rejoignez-nous