Page 1 sur 1

[R] Call pour fonction officiel

Posté : mar. 09 nov. 2010 01:28
par bloodwolff
Ma question du jour :lol:
Existe t'il un équivalent à la fonction call() mais pour les fonctions officiels comme msgbox()
Ou y a t'il un moyen de contourner le
The function cannot be a built-in AutoIt function or plug-in function

Re: [..] Call pour fonction officiel

Posté : mar. 09 nov. 2010 01:45
par matwachich
Par Exemple:

Code : Tout sélectionner

_call("MsgBox", 0, '""', '""')

Func _call($func, $param1 = "", $param2 = "", $param3 = "")
    Local $FuncString = $func & "(" & $param1 & ", " & $param2 & ", " & $param3 & ")"
    ConsoleWrite($FuncString & @CRLF)
    Return Execute($FuncString)
EndFunc
Faut juste ajouter:
- Un truc pour compter le nombre de paramètres (j'ai déjà vu ça dans l'aide)
- Un truc qui transforme un paramètre vide en '""', pour qu'il soit pris en considération par Execute (Essay de faire ce qui suit pour comprendre)

Code : Tout sélectionner

_call("MsgBox", 0, "", "")
Il ne se passe rien, regarde bien ce qu'affiche la console pour comprendre

Bonne nuit!

Re: [..] Call pour fonction officiel

Posté : mar. 09 nov. 2010 02:54
par bloodwolff
Résolu MErci !

Re: [R] Call pour fonction officiel

Posté : mar. 09 nov. 2010 12:56
par timmalos
Puis je savoir à quoi cela vous sert il? Je n'ai eu que très rarement l'occasion d'utiliser Call et je n'en ai jamais trouvé l'intérêt autre que pour des fonctions multiples.

Re: [R] Call pour fonction officiel

Posté : mar. 09 nov. 2010 15:49
par bloodwolff
Pour lancer des commandes autoit sur mon ordinateur de bureau à partir de mon portable

Re: [R] Call pour fonction officiel

Posté : mar. 09 nov. 2010 16:20
par timmalos
Dans ce cas là, vous creez un protocole serveur / client en TCP, et vous envoyez directement le code autoit dans des chaines de characteres, un simple EXECUTE() sur le serveur et tout est bon ;)

Re: [R] Call pour fonction officiel

Posté : mar. 09 nov. 2010 16:23
par bloodwolff
Oui c'est déjà fais t'inquiète
j'utilisais le call car j'avais déjà testé le execute mais j'avais mal entré les '""' donc il envoyais des trucs du genre
msgbox(0,,)