APPEL D'APIS SANS LES DÉCLARÉS

gchauvaux Messages postés 2 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 28 mars 2008 - 28 mars 2008 à 07:41
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 29 mars 2008 à 22:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46209-appel-d-apis-sans-les-declares

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
29 mars 2008 à 22:15
Ok non seulement cette methode est depassée depuis longtemps mais en plus contrairement a ce que tu annonces tu n'utilises que 3 paramettres sur 4 !
Par consequent un mauvais exemple à ne surtout pas suivre.

en plus c'est déjà sur le site...

Soyez un peu plus serieux quand vous postez des sources aussi courte car la moindre erreur est flagrante !
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 mars 2008 à 13:09
il existe des API nécessitants plus de 3 arguments...

ce code est incomplet et incorrect :$
voir PARAMARRAY. çà serait encore plus lourd mais on est plus à çà prêt :)

PS : me semble bien que les API déclarées non-utilisées (et les constantes) sont supprimées lors de la compilation...

PS : vous pouvez nettoyer votre code (tout ce qui n'est pas utilisé) avec l'outils add-in MZTOOLS
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 mars 2008 à 10:43
L'exemple du code met en évidence le coté contre performant de tout cela.
VB ne libère et donc ne charge qu'1 seule fois une DLL alors qu'ici on aura des appels répétitifs de LoadLibrary, GetProcAddress et FreeLibrary.

CallAPI(...) As Long
Pourquoi donc Function alors que le retour ne sera pas exploitable ?
If lDll = 0 Then Exit Function > retourne 0
If lProc = 0 Then Exit Function > retourne 0
Enormément de fonctions retournent 0 en statut erreur si OK.
oommeeggaa3d Messages postés 97 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 3 septembre 2010
28 mars 2008 à 10:08
il voulait dire "sans les déclarer".
Je trouve l'idée intéressante, d'autant que je venais justement de me dire que c'était pénible de multiplier les déclarations de fonctions api, avec le risque d'en mettre de trop, ou d'en avoir en double.
Bon ça alourdit un peu l'utilisation par contre.
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
28 mars 2008 à 08:50
@GCHAUVAUX -> Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
gchauvaux Messages postés 2 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 28 mars 2008
28 mars 2008 à 07:41
APPEL D'APIS SANS LES DÉCLARÉS
qu'est ce que cela signifie ? qu'est ce qu'un "déclaré" ?
Rejoignez-nous