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

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

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.
Rejoignez-nous