Aller au contenu principal
Version: Next

EXECUTE ON CLIENT

EXECUTE ON CLIENT ( nomClient ; nomMéthode {; param}{; param2 ; ... ; paramN} )

ParamètreTypeDescription
nomClientTextNom d’inscription du 4D Client
nomMéthodeTextNom de la méthode à exécuter
paramParamètre(s) de la méthode

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande EXECUTE ON CLIENT provoque l’exécution de la méthode nomMéthode, avec, éventuellement, le(s) paramètre(s) param1... paramN, sur le ou les 4D Client inscrit(s) sous le nom nomClient. Le nom d’inscription du ou des 4D Client est défini par la commande REGISTER CLIENT.

Cette commande peut être appelée depuis un 4D Client ou une procédure stockée sur 4D Server.
Si la méthode admet des paramètres, passez-les après le nom de la méthode.

L’exécution de la méthode sur le 4D Client s’effectue dans un process créé automatiquement sur le poste client, et portant le nom d’inscription du 4D Client.

Si cette commande est appelée plusieurs fois de suite pour un même 4D Client, les ordres d’exécution seront empilés. Par conséquent, les méthodes seront traitées les unes à la suite des autres : les exécutions sont asynchrones. Plus l’empilement est grand, plus la “charge de travail” est grande pour le 4D Client. Vous pouvez connaître l’état de la charge de travail de chaque client à l’aide de la commande GET REGISTERED CLIENTS.

Note : L’empilement des ordres d’exécutions ne peut être modifié ou stoppé, sauf si le 4D Client est désinscrit à l’aide de la commande UNREGISTER CLIENT.

Il est possible d’exécuter simultanément la même méthode sur plusieurs ou sur la totalité des 4D Clients inscrits : pour cela, passez le caractère joker (@) dans le paramètre nomClient.

Exemple 1

Vous souhaitez exécuter sur le poste client “Client1” la méthode “GénéreNums”, comportant trois paramètres :

 EXECUTE ON CLIENT("Client1";"GénéreNums";12;$a;"Text")

Exemple 2

Vous souhaitez que tous les clients inscrits exécutent la méthode “VideTemp” :

 EXECUTE ON CLIENT("@";"VideTemp")

Exemple 3

Reportez-vous à l’exemple de la commande REGISTER CLIENT.

Variables et ensembles système

La variable système OK prend la valeur 1 si 4D Server a correctement reçu la requête d’exécution d’une méthode — cela ne garantit pas toutefois la bonne exécution de la méthode sur le 4D Client.

Voir aussi

Execute on server
GET REGISTERED CLIENTS
REGISTER CLIENT
UNREGISTER CLIENT