Déclarations Dlls

Résolu
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 12 oct. 2004 à 23:10
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 13 oct. 2004 à 11:37
Salut à tous,

Voilà y'a des truc que je connais et d'autres sur lequels je bloque.

Genre, je pige presque rien à la ligne de code suivante, du moins rien entre "Alias" et "As Long".
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 oct. 2004 à 00:04
Prenons l'exemple de cette declaration SetWindowText, au debut sert a indiquer a VB que tout appel SetWindowText devra etre fait avec 2 parametres a envoyer (PUSH sur stack) et aussi de quel type:

1) ByVal hwnd As Long, un 'handle' qui n'est autre qu'un Long VB (32 bits).
2) ByVal lpString As String, VB passera le pointeur 'char*' de la String, ce qui est adresse du 1er octet de la chaine.

ciao...
BruNews, MVP VC++
3
pepsidrinker Messages postés 151 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 15 avril 2009
13 oct. 2004 à 02:49
Ok alors voici ("Byval Hwnd"), c'est tout simplement un parametre qui veut dire en gros "thw windows to handle", ou le numero de la form, car chaque form a son propre numero.
donc, le byval HWND est donc 'nom_de_ta_form.hwnd", tout simplement.
Le "LP String" signifie tout simplement une chaine de charactere, du genre :"J'Aime VB".. dinc, si je prend la code
Set windows text (me.hwnd,"BONJOUR A VOUS TOUS"), la caption de ta form sera rendu "Bonjour a vous tous", ou le caption de la form dequelle tu a donné le numero au premier parametre, a savoir, HWND.
Byval et ByRef signifie simplement si tu passe le parametre par valueur ou par référence.
Pepsidrinker
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 oct. 2004 à 23:35
Alias parce que n'est pas son vrai nom exporte par la DLL, c'est SetWindowTextA qui est vrai.
'As Long' parce que retourne un 32 bits, <> 0 si reussite.

ciao...
BruNews, MVP VC++
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
12 oct. 2004 à 23:38
Oui mais à quoi sert : ByVal hwnd As Long, ByVal lpString As String ?

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 oct. 2004 à 23:40
ce sont les 2 params, comme VB passe ByRef par defaut alors faut bien specifier le ByVal car on ne donne pas l'adresse mais bien les valeurs.

ciao...
BruNews, MVP VC++
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
12 oct. 2004 à 23:50
Désolé de merder sur ce truc surement simple mais à quoi me servent ces valeurs ? Elles sont nécéssaires pour le chargement de la Dll surement mais ou elles sont fournit d'office.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
13 oct. 2004 à 11:37
Bref je suis encore un peu pommé là dedant mais je devrais pouvoir essayé quelques truc pour piger.
Merci quand même

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
Rejoignez-nous