Connected (propiedad)
[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows].
-
Descripción
-
Devuelve o establece si el control actual está conectado al servidor de Microsoft Agent.
-
Syntax
-
*agent.*Connected [ = booleano]
Parte Descripción boolean Expresión booleana que especifica si el control está conectado. Verdad El control está conectado.
Observaciones
En muchas situaciones, al especificar el control se crea automáticamente una conexión con el servidor de Microsoft Agent. Por ejemplo, al especificar el CLSID del control de Microsoft Agent en la <etiqueta OBJECT> de una página web, se abre automáticamente una conexión de servidor y la salida de la página cierra la conexión. Del mismo modo, para Visual Basic u otros lenguajes que le permiten quitar un control en un formulario, la ejecución del programa abre automáticamente una conexión y salir del programa cierra la conexión. Si el servidor no se está ejecutando actualmente, se inicia automáticamente.
Sin embargo, si desea crear un control del Agente en tiempo de ejecución, es posible que también tenga que abrir explícitamente una nueva conexión al servidor mediante la propiedad Connected . Por ejemplo, en Visual Basic puede crear un objeto ActiveX en tiempo de ejecución mediante la instrucción Set con la palabra clave New (o la función CreateObject). Aunque esto crea el objeto, es posible que no cree la conexión con el servidor. Puede usar la propiedad Connected antes de cualquier código que llame a la interfaz de programación de Microsoft Agent, como se muestra en el ejemplo siguiente:
' Declare a global variable for the control
Dim MyAgent as Agent
' Create an instance of the control using New
Set MyAgent = New Agent
' Open a connection to the server
MyAgent.Connected = True
' Load a character
MyAgent.Characters.Load "Genie", " Genie.acs"
' Display the character
MyAgent.Characters("Genie").Show
La creación de un control mediante esta técnica no expone los eventos del control del Agente. En Visual Basic 5.0 (y versiones posteriores), puede acceder a los eventos del control mediante la inclusión del control en las referencias del proyecto y usar la palabra clave WithEvents en la declaración de variable:
Dim WithEvents MyAgent as Agent
' Create an instance of the control using New
Set MyAgent = New Agent
El uso de WithEvents para crear una instancia del control Agent en tiempo de ejecución abre automáticamente la conexión con el servidor de Microsoft Agent. Por lo tanto, no es necesario incluir una instrucción Connected .
Puede cerrar la conexión con el servidor liberando todas las referencias que creó en objetos Agent, como IAgentCtlCharacterEx e IAgentCtlCommandEx. También debe liberar la referencia al propio control Del Agente. En Visual Basic, puede liberar una referencia a un objeto estableciendo su variable en Nothing. Si ha cargado caracteres, descarguelos antes de liberar el objeto de carácter.
Dim WithEvents MyAgent as Agent
Dim Genie as IAgentCtlCharacterEx
Sub Form_Load
' Create an instance of the control using New
Set MyAgent = New Agent
' Open a connection to the server
MyAgent.Connected = True
' Load the character into the Characters collection
MyAgent.Characters.Load "Genie", " Genie.acs"
' Create a reference to the character
Set Genie = MyAgent.Characters("Genie")
End Sub
Sub CloseConnection
' Unload the character
MyAgent.Characters.Unload "Genie"
' Release the reference to the character object
Set Genie = Nothing
' Release the reference to the Agent control
Set MyAgent = Nothing
End Sub
Nota:
No se puede cerrar la conexión al servidor liberando referencias en las que se ha agregado el componente. Por ejemplo, no puede cerrar la conexión con el servidor en páginas web en las que se usa la <etiqueta OBJECT> para declarar el control o en una aplicación de Visual Basic donde se quita el control en un formulario. Al liberar todas las referencias del Agente, se reducirá el conjunto de trabajo del Agente, la conexión permanecerá hasta que vaya a la página siguiente o salga de la aplicación.