다음을 통해 공유


Connected 속성

[Microsoft 에이전트는 Windows 7을 기준으로 더 이상 사용되지 않으며 이후 버전의 Windows에서는 사용할 수 없습니다.]

Description

현재 컨트롤이 Microsoft 에이전트 서버에 연결되어 있는지 여부를 반환하거나 설정합니다.

Syntax

*agent.*Connected [ = boolean]

부분 Description
boolean 컨트롤이 연결되어 있는지 여부를 지정하는 부울 식입니다. 사실 컨트롤이 연결되어 있습니다.

설명

대부분의 경우 컨트롤을 지정하면 Microsoft 에이전트 서버와의 연결이 자동으로 생성됩니다. 예를 들어 웹 페이지의 OBJECT> 태그에 <Microsoft 에이전트 컨트롤의 CLSID를 지정하면 서버 연결이 자동으로 열리고 페이지를 종료하면 연결이 닫힙니다. 마찬가지로 폼에서 컨트롤을 삭제할 수 있는 Visual Basic 또는 기타 언어의 경우 프로그램을 실행하면 자동으로 연결이 열리고 프로그램을 종료하면 연결이 닫힙니다. 서버가 현재 실행되고 있지 않으면 자동으로 시작됩니다.

그러나 런타임에 에이전트 컨트롤을 만들려면 Connected 속성을 사용하여 서버에 대한 새 연결을 명시적으로 열어야 할 수도 있습니다. 예를 들어 Visual Basic에서는 New 키워드(keyword)(또는 CreateObject 함수)와 함께 Set 문을 사용하여 런타임에 ActiveX 개체를 만들 수 있습니다. 이렇게 하면 개체가 만들어지지만 서버에 대한 연결이 만들어지지 않을 수 있습니다. 다음 예제와 같이 Microsoft 에이전트의 프로그래밍 인터페이스를 호출하는 코드 앞에 Connected 속성을 사용할 수 있습니다.

   ' 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 키워드(keyword) 사용할 수 있습니다.

   Dim WithEvents MyAgent as Agent

   ' Create an instance of the control using New
   Set MyAgent = New Agent

WithEvents를 사용하여 런타임에 에이전트 컨트롤의 instance 만들면 Microsoft 에이전트 서버와의 연결이 자동으로 열립니다. 따라서 연결된 문을 포함할 필요가 없습니다.

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

참고

구성 요소가 추가된 참조를 해제하여 서버에 대한 연결을 닫을 수 없습니다. 예를 들어 개체> 태그를 사용하여 <컨트롤을 선언하거나 폼에서 컨트롤을 삭제하는 Visual Basic 애플리케이션에서 웹 페이지의 서버에 대한 연결을 닫을 수 없습니다. 모든 에이전트 참조를 해제하면 에이전트의 작업 집합이 줄어들지만 다음 페이지로 이동하거나 애플리케이션을 종료할 때까지 연결이 유지됩니다.