Functions > Misc >


Call

Appelle une fonction utilisateur ou interne pass�e dans le premier param�tre.

Call ( "function" [, param_1 [, param_2 [, param_N]]] )

Param�tres

function Le nom de la fonction ou la fonction � appeler.
param Les arguments qui seront pass�s � la fonction invoqu�e.

Valeur de retour

Succ�s: Retourne la valeur de retour de la fonction appel�e. De m�me @error et @extended peuvent contenir des valeurs si la fonction appel�e les renseigne.
�chec: Retourne @error = 0xDEAD et @extended = 0xBEEF si la fonction n'existe pas ou si le nombre d'arguments n'est pas correct.

Remarque

La fonction peut passer des arguments, cependant, les param�tres ByRef ne sont pas support�s; il n'y a aucune fa�on de r�cup�rer un param�tre ByRef.

Un tableau sp�cial peut �tre pass� � la place des param�tres individuels. Ce tableau doit avoir son premier �l�ment �gal � "CallArgArray" et les �l�ments de 1 � n contiendront les param�tres de la fonction pass�s s�par�ment. Si vous utilisez ce tableau sp�cial, aucun autre argument ne pourra �tre pass� � Call(). Consultez l'exemple pour une d�monstration.
Call() peut d�finir lui-m�me le flag @error, tout comme la fonction appel�e. Si Call() d�finit le flag @error, la valeur sera 0xDEAD et @extended sera d�fini � 0xBEEF. Consultez l'exemple pour un test de fonction qui n'est pas trouv�e.

En relation

Execute

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Appelle une fonction acceptant aucun argument.
    Call("Test1")

    ; Appelle une fonction acceptant un argument et le passe en argument.
    Call("Test2", "Message from Call()!")

    ; Montre comment utiliser le tableau sp�cial d'arguments.
    Local $aArgs[4]
    $aArgs[0] = "CallArgArray" ; Cela est n�cessaire, sinon, Call() ne reconna�tra pas le tableau comme contenant des arguments
    $aArgs[1] = "This is a string" ; Le premier param�tre est une cha�ne
    $aArgs[2] = 47 ; Le param�tre deux est un nombre
    Local $aArray[2]
    $aArray[0] = "Array Element 0"
    $aArray[1] = "Array Element 1"
    $aArgs[3] = $aArray ; Le param�tre trois est un tableau

    ; Nous avons construit le tableau sp�cial, maintenant, appelons la fonction
    Call("Test3", $aArgs)

    ; Test de l'appel d'une fonction qui n'existe pas. Cela montre la bonne fa�on de tester ensemble 
    ; les deux flags @error et @extended qui  contiennent les erreurs document�es.
    Local Const $sFunction = "DoesNotExist"
    Call($sFunction)
    If @error = 0xDEAD And @extended = 0xBEEF Then MsgBox($MB_SYSTEMMODAL, "", "La fonction n'existe pas.")
EndFunc   ;==>Example

Func Test1()
    MsgBox($MB_SYSTEMMODAL, "", "Hello")
EndFunc   ;==>Test1

Func Test2($sMsg)
    MsgBox($MB_SYSTEMMODAL, "", $sMsg)
EndFunc   ;==>Test2

Func Test3($sString, $nNumber, $aArray)
    MsgBox($MB_SYSTEMMODAL, "", "La cha�ne est: " & @CRLF & $sString)
    MsgBox($MB_SYSTEMMODAL, "", "Le nombre est: " & @CRLF & $nNumber)
    For $i = 0 To UBound($aArray) - 1
        MsgBox($MB_SYSTEMMODAL, "", "Array[" & $i & "] contient:" & @CRLF & $aArray[$i])
    Next
EndFunc   ;==>Test3