gchauvaux
Messages postés2Date d'inscriptionmercredi 29 mars 2006StatutMembreDernière intervention28 mars 2008
-
28 mars 2008 à 07:41
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 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.
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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és13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és97Date d'inscriptiondimanche 24 avril 2005StatutMembreDerniè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és2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 28 mars 2008 à 08:50
@GCHAUVAUX -> Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
gchauvaux
Messages postés2Date d'inscriptionmercredi 29 mars 2006StatutMembreDernière intervention28 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é" ?
29 mars 2008 à 22:15
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 !
28 mars 2008 à 13:09
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
28 mars 2008 à 10:43
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.
28 mars 2008 à 10:08
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.
28 mars 2008 à 08:50
28 mars 2008 à 07:41
qu'est ce que cela signifie ? qu'est ce qu'un "déclaré" ?