lierre

ole automation 예제

OLE 자동화 서버는 클라이언트가 메시지를 보내고 이를 사용하여 ActiveX...

02 Août

OLE 자동화 서버는 클라이언트가 메시지를 보내고 이를 사용하여 ActiveX 개체를 만들기 전에 Windows 시스템에 등록해야 합니다. 개체 COBOL 자동화 서버를 등록하는 방법에는 네 가지가 있습니다: 일부 개발 환경(예: Visual Basic)은 개발 컴퓨터에서 만든 새 ActiveX 개체를 자동으로 등록합니다. 수행, 그것은 여전히 무대 뒤에서 발생합니다. 배포할 각 컴퓨터에 개체를 등록해야 합니다. 여기에는 OLE 자동화의 일부가 포함됩니다. Win32 SDK 및 설명서는 넷익스프레스 CD-ROM에 포함되어 있습니다. 아래 코드는 DllOleLoadClass의 예를 보여줍니다: 모든 개체 코볼 자동화 서버 실행 시 자동으로 자신을 등록 합니다. 이는 독립 실행형으로 실행할 수 있는 프로세스 외 서버에서만 작동합니다. 이 메서드를 사용할 때 레지스트리에 입력된 정보는 최소화됩니다. OLE(개체 연결 및 포함)는 COM(구성 요소 개체 모델)의 구현입니다.

OLE 자동화를 사용하면 한 응용 프로그램이 다른 응용 프로그램에서 구현된 개체를 조작하거나 개체를 노출하여 조작할 수 있습니다. ooRexx는 프로그래머가 OLE 개체로 노출되는 개체를 조작하는 이 기능을 활용할 수 있도록 하는 OLEObject 및 OLEVariant이라는 두 가지 클래스를 제공합니다. 다른 Windows 시스템에 설치할 때마다 자동화 서버를 등록해야 합니다. 레지스트리 파일에 컴퓨터별 경로가 포함되어 있는 경우 편집해야 하지만 매번 동일한 레지스트리 파일을 사용할 수 있습니다. methinfo 디렉터리에는 OLE 개체가 제공하는 정보에 액세스하는 방법에 대한 매우 기본적인 예제가 포함되어 있습니다. Comp.Lang.Clipper.Visual-Objects 뉴스 그룹(이 예제에서는 약간 변경)에서 다음 예제를 찾았습니다. 아래 예제 코드의 첫 번째 조각은 ole-err1.cbl이라는 OLE 예외를 처리하기 위한 짧은 코볼 서브루틴입니다. 두 번째 조각은 EntryCallback에서 서브루틴을 래핑하고 OLE 예외 처리기로 등록합니다. 클라이언트가 다른 언어로 작성된 경우 개체 코볼 OLE 자동화 서버에 클래스 메서드 « new »를 추가합니다.

« 새 » 메서드 안에 다음 문을 넣어: 마지막으로 wmi 디렉토리에는 Windows 관리 계측으로 작업하는 방법에 대한 다섯 가지 예제가 포함되어 있습니다. 응용 프로그램을 자동화하려면 자동화 컨트롤러 개발자는 활성화 개체를 내보내는 대상 응용 프로그램에서 사용하는 개체 모델을 알고 있어야 합니다. [9] 이렇게 하려면 대상 응용 프로그램의 개발자가 해당 개체 모델을 공개적으로 문서화해야 합니다. 대상 응용 프로그램의 개체 모델을 알지 못하는 자동화 컨트롤러의 개발은 « 불가능하기 어렵다 ». [10] 이러한 복잡성 때문에 자동화 구성 요소는 일반적으로 개체 라이브러리에서 노출되는 클래스, 인터페이스 및 기타 기능에 대한 메타데이터를 포함하는 형식 라이브러리와 함께 제공됩니다. 인터페이스는 Microsoft 인터페이스 정의 언어로 설명되어 있습니다. 형식 라이브러리는 Microsoft OLE/COM 개체 뷰어(oleview.exe, Microsoft 플랫폼 SDK의 일부) 또는 Visual Basic의 개체 브라우저(버전 6까지) 및 Visual Studio .NET과 같은 다양한 도구를 사용하여 볼 수 있습니다. 형식 라이브러리는 COM과 Microsoft .NET 및 Java와 같은 다른 플랫폼 간에 상호 운용하기 위한 프록시 패턴/스텁 코드를 생성하는 데 사용됩니다. 예를 들어 .NET Framework SDK에는 초기 바인딩(형식 라이브러리에서 추출된 인터페이스에 대한 정보 포함)과 « IDispatch를 통해 .NET에 매핑된 »을 사용하여 자동화 개체에 액세스하기 위해 프록시 .NET DLL을 생성할 수 있는 도구가 포함되어 있습니다. 리플렉션 API)가 내장되어 있습니다. COM-TO-COM 브리지라고 합니다. [11] Java에는 기본 제공 COM 지원이 없지만 JACOB[12] 및 jSegue[13]와 같은 도구 집합은 형식 라이브러리에서 프록시 소스 코드(두 부분으로 구성, Java 클래스 집합 및 Java 네이티브 인터페이스 DLL용 C++ 소스)를 생성할 수 있습니다.