Objet Command
[Microsoft Agent est déconseillé à partir de Windows 7 et peut être indisponible dans les versions ultérieures de Windows.]
Un objet Command est un élément d’une collection Commands . Le serveur fournit à l’utilisateur l’accès à vos objets Command lorsque votre application cliente devient active en entrée.
Pour accéder à la propriété d’un objet Command , vous le référencez dans sa collection à l’aide de sa propriété Name . Dans VBScript et Visual Basic, vous pouvez utiliser directement la propriété Name :
<i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]
Pour les langages de programmation qui ne prennent pas en charge les collections, utilisez la méthode Command :
<i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]
Vous pouvez également référencer un objet Command en créant une référence à celui-ci. En Visual Basic, déclarez une variable objet et utilisez l’instruction Set pour créer la référence :
Dim Cmd1 as Object
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Dans Visual Basic 5.0, vous pouvez également déclarer l’objet comme type IAgentCtlCommandEx et créer la référence. Cette convention permet une liaison précoce, ce qui permet d’obtenir de meilleures performances :
Dim Cmd1 as IAgentCtlCommandEx
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Dans VBScript, vous pouvez déclarer une référence en tant que type particulier, mais vous pouvez toujours déclarer la variable et la définir sur la commande dans la collection :
Dim Cmd1
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Une commande peut apparaître dans le menu contextuel du caractère et dans la fenêtre Commandes, ou dans les deux. Pour apparaître dans le menu contextuel, il doit avoir une légende et avoir la propriété Visible définie sur True. En outre, sa propriété Visible de la collection Commands doit également avoir la valeur True. Pour apparaître dans la fenêtre Commandes, les propriétés Légende et Voix d’une commande doivent être définies. Notez que les entrées de menu contextuel d’un caractère ne changent pas tant que le menu s’affiche. Si vous ajoutez ou supprimez des commandes ou modifiez leurs propriétés lorsque le menu contextuel du caractère s’affiche, le menu affiche ces modifications chaque fois que l’utilisateur l’affiche ensuite. Toutefois, la fenêtre Commandes reflète dynamiquement toutes les modifications que vous apportez.
Le tableau suivant récapitule la façon dont les propriétés d’une commande affectent sa présentation :
Propriété Caption
Voice-Caption, propriété
Voice, propriété
Visible, propriété
Propriété activée
S’affiche dans le menu contextuel caractère
Apparaît dans la fenêtre Commandes
Oui
Oui
Oui
True
True
Normal, à l’aide de la légende
Oui, à l’aide de VoiceCaption
Oui
Oui
Oui
True
False
Désactivé, à l’aide de la légende
Non
Oui
Oui
Oui
False
True
N’apparaît pas
Oui, à l’aide de VoiceCaption
Oui
Oui
Oui
False
False
N’apparaît pas
Non
Oui
Oui
Non
True
True
Normal, à l’aide de la légende
Non
Oui
Oui
Non
True
False
Désactivé, à l’aide de la légende
Non
Oui
Oui
Non
False
True
N’apparaît pas
Non
Oui
Oui
Non
False
False
N’apparaît pas
Non
Non
Oui
Oui
True
True
N’apparaît pas
Oui, à l’aide de VoiceCaption
Non
Oui
Oui
True
False
N’apparaît pas
Non
Non
Oui
Oui
False
True
N’apparaît pas
Oui, à l’aide de VoiceCaption
Non
Oui
Oui
False
False
N’apparaît pas
Non
Non
Oui
Non
True
True
N’apparaît pas
Non
Non
Oui
Non
True
False
N’apparaît pas
Non
Non
Oui
Non
False
True
N’apparaît pas
Non
Non
Oui
Non
False
False
N’apparaît pas
Non
Oui
Non
Oui
True
True
Normal, à l’aide de la légende
Oui, à l’aide de caption
Oui
Non
Oui
True
False
Désactivé, à l’aide de la légende
Non
Oui
Non
Oui
False
True
N’apparaît pas
Oui, à l’aide de caption
Oui
Non
Oui
False
False
N’apparaît pas
Non
Oui
Non
Non
True
True
Normal, à l’aide de la légende
Non
Oui
Non
Non
True
False
Désactivé, à l’aide de la légende
Non
Oui
Non
Non
False
True
N’apparaît pas
Non
Oui
Non
Non
False
False
N’apparaît pas
Non
Non
Non
Oui
True
True
N’apparaît pas
Non
Non
Non
Oui
True
False
N’apparaît pas
Non
Non
Non
Oui
False
True
N’apparaît pas
Non
Non
Non
Oui
False
False
N’apparaît pas
Non
Non
Non
Non
True
True
N’apparaît pas
Non
Non
Non
Non
True
False
N’apparaît pas
Non
Non
Non
Non
False
True
N’apparaît pas
Non
Non
Non
Non
False
False
N’apparaît pas
Non
Si le paramètre de propriété est null. Dans certains langages de programmation, une chaîne vide peut ne pas être interprétée comme une chaîne null. La commande est toujours accessible par la voix.
Lorsque le serveur reçoit une entrée pour l’une de vos commandes, il envoie un événement Command et transmet le nom de la commande en tant qu’attribut de l’objet UserInput . Vous pouvez ensuite utiliser des instructions conditionnelles pour mettre en correspondance et traiter la commande.