byref, byval
Introduction
Il s'agit simplement de la méthode de passage de paramètres à vos fonctions. Toutefois cela est surtout utilisé dans la déclaration d'API (Application Programming Inteface), ces fonctions utilisées pour interagir avec votre système d'exploitation.
Ex d'une api rarement utile en VB (:
Public Declare Function MessageBox
Lib "user32"
Alias "MessageBoxA" (
ByVal hwnd
As Long,
ByVal lpText
As String,
ByVal lpCaption
As String,
ByVal wType
As Long) As Long
Pour les débutants je vais vous expliquer tout les termes un à un :
- Public => cette fonction sera accessible dans toute l'application
- Declare => Signifie que cette fonction est définie dans un fichier Externe (ici : user32.dll)
- Function => La déclaration est une fonction (ça renvoie donc une valeur)
- Lib => Le fichier est une librairie (oui j'ai fait des études)
- Alias => Nom d'externalisation de la fonction dans la DLL
Ce qui nous interresse :
ByVal
Cela signifie que l'on passe notre argument par 'valeur', c'est à dire que la fonction appelée ne travaillera pas directement sur la variable que tu lui passes en paramètre mais sur un clone de celle-ci. Cela signifie que si le cas échéant la variable est modifiée par la fonction de la DLL,cela n'aura pas de répercussion sur la variable originale de votre programme.
ByRef
Ce coup-ci la variable est passée par Référence.
La fonction appelée par l'api reçoit l'adresse de la variable utilisée dans le programme (un genre de pointeur en C pour ceux qui connaissent). Par conséquence, si la fonction modifie la variable elle sera aussi modifiée dans le programme si tu la réutilises.
Pas la peine de spécifier que le
as Long est le type de la valeur retournée par la fonction (API).
====
::TheS@ib::