Подключенное свойство
[Агент Майкрософт не рекомендуется использовать в Windows 7 и может быть недоступен в последующих версиях Windows.]
-
Описание
-
Возвращает или задает значение, указывающее, подключен ли текущий элемент управления к серверу Microsoft Agent.
-
Синтаксис
-
*agent.*Connected [ = boolean]
Часть Описание boolean Логическое выражение, указывающее, подключен ли элемент управления. Истинный Элемент управления подключен.
Комментарии
Во многих ситуациях при указании элемента управления автоматически создается соединение с сервером Microsoft Agent. Например, при указании ИДЕНТИФИКАТОРа CLSID элемента управления Microsoft Agent в <теге OBJECT> на веб-странице автоматически открывается подключение к серверу, а выход из страницы закрывает подключение. Аналогичным образом, для Visual Basic или других языков, которые позволяют удалять элемент управления в форме, запуск программы автоматически открывает подключение, а выход из программы закрывает подключение. Если сервер в данный момент не запущен, он запускается автоматически.
Однако если вы хотите создать элемент управления агента во время выполнения, также может потребоваться явно открыть новое подключение к серверу с помощью свойства Connected . Например, в Visual Basic можно создать объект ActiveX во время выполнения с помощью инструкции Set с помощью функции New ключевое слово (или CreateObject). Несмотря на то, что объект создается, подключение к серверу может не быть установлено. Свойство Connected можно использовать перед любым кодом, который вызывает программный интерфейс Microsoft Agent, как показано в следующем примере:
' 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
При создании элемента управления с помощью этого метода события элемента управления агентом не предоставляются. В Visual Basic 5.0 (и более поздних версиях) можно получить доступ к событиям элемента управления, включив элемент управления в ссылки проекта, и использовать ключевое слово WithEvents в объявлении переменной:
Dim WithEvents MyAgent as Agent
' Create an instance of the control using New
Set MyAgent = New Agent
Использование WithEvents для создания экземпляра элемента управления агента во время выполнения автоматически открывает подключение к серверу Microsoft Agent. Поэтому вам не нужно включать оператор Connected .
Вы можете закрыть подключение к серверу, отпустив все ссылки, созданные на объекты агента, такие как IAgentCtlCharacterEx и IAgentCtlCommandEx. Кроме того, необходимо освободить ссылку на сам элемент управления "Агент". В Visual Basic можно освободить ссылку на объект, задав для его переменной значение Nothing. Если вы загрузили символы, выгрузите их перед освобождением символьного объекта.
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
Примечание
Невозможно закрыть подключение к серверу, отпустив ссылки, в которые был добавлен компонент. Например, вы не можете закрыть подключение к серверу на веб-страницах, где используется <тег OBJECT> для объявления элемента управления, или в приложении Visual Basic, в котором вы удаляете элемент управления на форме. Хотя освобождение всех ссылок на агент приведет к сокращению рабочего набора агента, подключение остается до тех пор, пока вы не перейдете на следующую страницу или не выйдете из приложения.