Das Befehlsobjekt
[Der Microsoft-Agent ist ab Windows 7 veraltet und in nachfolgenden Versionen von Windows möglicherweise nicht mehr verfügbar.]
Ein Command-Objekt ist ein Element in einer Commands-Auflistung. Der Server bietet dem Benutzer Zugriff auf Ihre Command-Objekte, wenn ihre Clientanwendung eingabeaktiv wird.
Um auf die Eigenschaft eines Command-Objekts zuzugreifen, verweisen Sie in seiner Auflistung mithilfe der Name-Eigenschaft darauf. In VBScript und Visual Basic können Sie die Name-Eigenschaft direkt verwenden:
<i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]
Verwenden Sie für Programmiersprachen, die keine Sammlungen unterstützen, die Command-Methode:
<i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]
Sie können auch auf ein Command-Objekt verweisen, indem Sie einen Verweis darauf erstellen. Deklarieren Sie in Visual Basic eine Objektvariable, und verwenden Sie die Set-Anweisung, um den Verweis zu erstellen:
Dim Cmd1 as Object
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
In Visual Basic 5.0 können Sie das Objekt auch als Typ IAgentCtlCommandEx deklarieren und den Verweis erstellen. Diese Konvention ermöglicht eine frühe Bindung, was zu einer besseren Leistung führt:
Dim Cmd1 as IAgentCtlCommandEx
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
In VBScript können Sie einen Verweis als bestimmten Typ deklarieren, aber Sie können die Variable trotzdem deklarieren und auf den Befehl in der Auflistung festlegen:
Dim Cmd1
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
Ein Befehl kann entweder im Popupmenü des Zeichens und im Befehlsfenster oder in beiden angezeigt werden. Um im Popupmenü angezeigt zu werden, muss eine Beschriftung vorhanden sein, und die Visible-Eigenschaft muss auf True festgelegt sein. Darüber hinaus muss die Visible-Eigenschaft des Commands-Auflistungsobjekts auch auf True festgelegt werden. Um im Befehlsfenster angezeigt zu werden, muss für einen Befehl die Eigenschaften Caption (Beschriftung) und Voice (Stimme) festgelegt sein. Beachten Sie, dass sich die Popupmenüeinträge eines Zeichens nicht ändern, während das Menü angezeigt wird. Wenn Sie Befehle hinzufügen oder entfernen oder deren Eigenschaften ändern, während das Popupmenü des Zeichens angezeigt wird, werden diese Änderungen im Menü immer dann angezeigt, wenn sie vom Benutzer als Nächstes angezeigt werden. Das Befehlsfenster spiegelt jedoch alle vorgenommenen Änderungen dynamisch wider.
In der folgenden Tabelle wird zusammengefasst, wie sich die Eigenschaften eines Befehls auf seine Darstellung auswirken:
Caption-Eigenschaft
Voice-Caption-Eigenschaft
Voice-Eigenschaft
Visible-Eigenschaft
Enabled-Eigenschaft
Wird im Popupmenü des Zeichens angezeigt.
Wird im Befehlsfenster angezeigt.
Ja
Ja
Ja
True
True
Normal, beschriftungsbeschriftung
Ja, mit VoiceCaption
Ja
Ja
Ja
True
False
Deaktiviert, mit Beschriftung
Nein
Ja
Ja
Ja
False
True
Wird nicht angezeigt
Ja, mit VoiceCaption
Ja
Ja
Ja
False
False
Wird nicht angezeigt
Nein
Ja
Ja
Nein
True
True
Normal, beschriftungsbeschriftung
Nein
Ja
Ja
Nein
True
False
Deaktiviert, mit Beschriftung
Nein
Ja
Ja
Nein
False
True
Wird nicht angezeigt
Nein
Ja
Ja
Nein
False
False
Wird nicht angezeigt
Nein
Nein
Ja
Ja
True
True
Wird nicht angezeigt
Ja, mit VoiceCaption
Nein
Ja
Ja
True
False
Wird nicht angezeigt
Nein
Nein
Ja
Ja
False
True
Wird nicht angezeigt
Ja, mit VoiceCaption
Nein
Ja
Ja
False
False
Wird nicht angezeigt
Nein
Nein
Ja
Nein
True
True
Wird nicht angezeigt
Nein
Nein
Ja
Nein
True
False
Wird nicht angezeigt
Nein
Nein
Ja
Nein
False
True
Wird nicht angezeigt
Nein
Nein
Ja
Nein
False
False
Wird nicht angezeigt
Nein
Ja
Nein
Ja
True
True
Normal, beschriftungsbeschriftung
Ja, beschriftung
Ja
Nein
Ja
True
False
Deaktiviert, mit Beschriftung
Nein
Ja
Nein
Ja
False
True
Wird nicht angezeigt
Ja, beschriftung
Ja
Nein
Ja
False
False
Wird nicht angezeigt
Nein
Ja
Nein
Nein
True
True
Normal, beschriftungsbeschriftung
Nein
Ja
Nein
Nein
True
False
Deaktiviert, mit Beschriftung
Nein
Ja
Nein
Nein
False
True
Wird nicht angezeigt
Nein
Ja
Nein
Nein
False
False
Wird nicht angezeigt
Nein
Nein
Nein
Ja
True
True
Wird nicht angezeigt
Nein
Nein
Nein
Ja
True
False
Wird nicht angezeigt
Nein
Nein
Nein
Ja
False
True
Wird nicht angezeigt
Nein
Nein
Nein
Ja
False
False
Wird nicht angezeigt
Nein
Nein
Nein
Nein
True
True
Wird nicht angezeigt
Nein
Nein
Nein
Nein
True
False
Wird nicht angezeigt
Nein
Nein
Nein
Nein
False
True
Wird nicht angezeigt
Nein
Nein
Nein
Nein
False
False
Wird nicht angezeigt
No
Wenn die Eigenschafteneinstellung NULL ist. In einigen Programmiersprachen wird eine leere Zeichenfolge möglicherweise nicht wie eine NULL-Zeichenfolge interpretiert. Auf den Befehl kann weiterhin per Sprache zugegriffen werden.
Wenn der Server Eingaben für einen Ihrer Befehle empfängt, sendet er ein Command-Ereignis und übergibt den Namen des Befehls als Attribut des UserInput-Objekts zurück. Anschließend können Sie bedingte Anweisungen verwenden, um den Befehl zu finden und zu verarbeiten.