Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : api dans dll [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (VBREP)

jeudi 21 avril 2005 à 13:48:14 | api dans dll

VBREP

salut à tous
j'ai mis api settimer dans la class pour faire un dll

lors de la compilation : erreur de compilation " utilisation incorrecte de l'operateur AddressOf"

que faire et pourquoi ?

merci d'avance

jeudi 21 avril 2005 à 14:00:05 | Re : api dans dll

crenaud76

Il faut faire un wrapper pour AddressOf, car tu ne peux pas l'utiliser directement dans un appel d'API, qui attend un Long.

' Fonction   : GetFuncAdr
' Auteur     : Christophe RENAUD
' Objet      : Retourne l'adresse d'une fonction. En effet, le mot-clé 'AddressOf' ne peut être utilisé directement
' Arguments  : ByVal Adr As Long : Adresse de la fonction
' Retour     : Long : L'adresse de la fonction
'
Private Function GetFuncAdr(ByVal Adr As Long) As Long
    ' C'est idiot mais totalement indispensable
    GetFuncAdr = Adr
End Function

Et tu t'en sert comme cela :
SetTimer(..., ..., ..., GetFuncAdr(AddressOf Le nom de ta fonction))

Il n'y a pas de fonction plus con de GetFuncAdr, mais la syntaxe de AddressOf  la rend obligatoire : Ceci est du au fait que, en VB, AddressOf est un opérateur et non pas une fonction (pas de parenthèses). Et une API ne peut recevoir un Opérateur en tant que argument.

 Christophe R

jeudi 21 avril 2005 à 15:05:19 | Re : api dans dll

VBREP

ques un wrapper ?
du cou je met quoi

SetTimer Form1.hwnd, 5 , 1000 , addressof  NomduSub = erreur
SetTimer Form1.hwnd, 5 , 1000 , adr NomduSub = erreur
SetTimer Form1.hwnd, 5 , 1000 , GetFuncAdr NomduSub = erreur

jeudi 21 avril 2005 à 15:17:58 | Re : api dans dll

crenaud76

Un wrapper c'est un truc qui en masque un autre mais qui ne fait rien "d'intelligent" par lui-même.

Tu dois mettre ceci :
SetTimer(Form1.Hwnd, 5 , 1000, GetFuncAdr(AddressOf LeNomDeTaSub))

Remplace "LeNomDeTaSub" par le nom de la Sub que ton Timer doit appeler.

 Christophe R

jeudi 21 avril 2005 à 15:22:38 | Re : api dans dll

VBREP

encore 1 pb

erreur de compilation "Attendu ="


jeudi 21 avril 2005 à 15:45:54 | Re : api dans dll

VBREP

SetTimer Form1.hwnd, 5, 1000, GetFuncAdr(AddressOf NomDu Sub) =
erreur de compilation "Utilisation de l'operateur AddressOf"
et si
SetTimer (Form1.hwnd, 5, 1000, GetFuncAdr(AddressOf NomDu Sub))  =
erreur de compilation "Attendu ="



Cette discussion est classé dans : dll, compilation, api


Répondre à ce message

Sujets en rapport avec ce message

comment faire pour integrer une api dans mon prog pour ne plus avoir besoin du dll [ par Cadbury ] voila, g fai un prog, il est bo et il utilise des api, mai comme personne a le dll vb6fr.dll ben fo toujours le passer avecje voudrai savoir si on peu Rasapi32.dll [ par Raf ] Cette api fonctionne trés bien sous windows95/98 mais pas sous NT.Qui peux me donner l'API equivalente ou me donner la solution a mon pb ??Merci d'ava à part les API windows, quelles dll [ par dtune ] bonjour toi,j'ai à peu près compris l'utilisation des API classique win32api mais par contre, on n'y trouve pas toutpar exemple, j'ai essayé de faire Api & Dll ::: les questions que tt le monde se pose (bah en tt cas moi je sais pas :)) [ par GhnombX ] Hello!bah jaimeri avoir des infos sur l'utilisations des dll et des api.bon les api ca va avec la visioneuse d'APi de vbasic6, mais ca pourai etre bie &&&&obtenir la liste des api d'une dll&&&& [ par raoul ] y'en a marre d'utiliser l'editeur msdos en mode binaire pour trouver les api d'une dll, surtout qu'on ne ne peut avoir les arguments additionnels! qqu Déclaration D'API? HELP ME !!!! [ par MEGATRIX ] J'ai créer une dll ce trouvant dans le répertoir de mon exe, cette dll ce nome ColorVB.dll et la fonction se nome ColorisationVB comment puis je décla GetVolume - API de winmm.dll [ par SoniqExnihilo ] Bonjours.Y aurait il quelqu'un maitrisant les API de winmm.dll ? sur le net on trouve pas grand chose, ou alors c'est tres complexe, et tres peut en V PB DLL Compilation en vb [ par hakcha ] Bonjour à tous et merci d'avance à ceux qui pourront m'aider.J'ai créé une DLL avec vb qui fonctionne parfaitement avec mon application.Le seul souci API , DLL et Arguments? [ par Spike ] Salut ,Comment puis je faire pour avoir la liste des arguments d'une fonction API contenue dans une DLL?exemple : Private Declare Function fCreateShel API > Lister les fonctions d'une DLL .... [ par Troydis ] Salut !Je voudrais savoir s'il existe un moyen de lister toutes les fonctions que possède une DLL et si possible, les arguments qu'il faut rentrer pou


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.