Поделиться через


Подключенное свойство

[Агент Майкрософт не рекомендуется использовать в 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, в котором вы удаляете элемент управления на форме. Хотя освобождение всех ссылок на агент приведет к сокращению рабочего набора агента, подключение остается до тех пор, пока вы не перейдете на следующую страницу или не выйдете из приложения.