CodeS-SourceS
Rechercher un code, un tuto, une réponse

[visual basic] [définitions] byref , byval

Août 2017


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::

A voir également

Publié par TheSaib.
Ce document intitulé «  [visual basic] [définitions] byref , byval  » issu de CodeS-SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
[visual basic] [général] déclaration de variables
[visual basic] [général] comment exploiter efficacement l'ide vb6 ?