Код:
![Выделить весь код](images/misc/selectcode.png)
#include <Array.au3>
Dim $aArray[2] = [1, 2]
_CallEx('MyFunc', 'Param1', 'Param2', $aArray)
ConsoleWrite('@error = ' & @error & @CRLF)
Func MyFunc($sParam1, $sParam2, $aParam3)
ConsoleWrite($sParam1 & ' : ' & $sParam2 & @CRLF)
_ArrayDisplay($aParam3)
EndFunc
Func _CallEx($sFunction, $vParam1 = '', $vParam2 = '', $vParam3 = '', $vParam4 = '', $vParam5 = '', $vParam6 = '', $vParam7 = '', $vParam8 = '', $vParam9 = '', $vParam10 = '', $vParam11 = '', $vParam12 = '', $vParam13 = '', $vParam14 = '', $vParam15 = '', $vParam16 = '', $vParam17 = '', $vParam18 = '', $vParam19 = '', $vParam20 = '')
Local $sCall_Params = 'Call("' & $sFunction & '"'
Local $iRet, $iError
For $i = 2 To @NumParams
$sCall_Params &= ', $vParam' & $i - 1
Next
$sCall_Params &= ')'
Do
$iRet = Execute($sCall_Params)
$iError = @error
$sCall_Params = StringRegExpReplace($sCall_Params, '(.*), .*\)$', '\1)', 1)
Until $iError = 0 Or @extended = 0
Return SetError($iError, 0, $iRet)
EndFunc