ComfyJ是一款双向Java-COM桥接工具,用于提供 COM到Java和Java到COM的交互连接。通过它,您可以在Java程序中整合任意COM/OLE/OCX/ActiveX库,以及将Java对象运行为COM对象。而完成这些操作,您只需要编写纯Java语言便可,无需其他语言。
具体功能:
-
封装所有的标准的COM接口,比如IUnknown, IDispatch等
-
支持标准的COM类型,比如Variant, SafeArray(一维或多维数组)、BStr等
-
支持VTBL方法调用机制,您可以使用函数标识来调用COM对象方法
-
通过自动支持,您可以完成:
-
使用动态方法调用技术,您可调用任意的COM对象的方法
-
获取某个COM对象的任意属性,包括标识号和名称
-
设置COM对象属性
-
支持COM事件。您可以采用标准的COM技术(findConnectionPoint/advise),创建一个Java COM事件来管理和连接一个COM对象
-
在Swing程序中嵌入任意的OLE/OCX/ActiveX控件。ComfyJ提供了一个指定的OleContainer类,通过它,您可以完成:
-
使用ProgID, CLSID或者从文件,来嵌入一个对象,同样您也可以将IOleObject插入到容器中
-
内置有多种OLE/OCX/ActiveX组件,包括Internet Explorer, Microsoft Office, Acrobat Reader 文件和多种媒体控件,比如Windows MediaPlayer, DVD player, QuickTime, ShockwaveFlash等
-
为运行状态提供了一个内置的显示组件
-
通过指定二进制格式,来保存一个内置OleObject到文件中,或从文件中加载
-
支持多种不同类型的显示操作,比如SHOW, INPLACEACTIVE等
-
支持DCOM,ComfyJ允许您在远程服务器上创建COM对象
-
代码生成程序。使用该程序,您可以将您的COM对象创建为Java COM封装包。必要时,生成的类可以编译及打包为单独的JAR文件
-
该桥接方式允许您像COM对象一样,执行和操作Java COM对象,您只需要编写纯的Java语言便可,无需其他语言支持。
-
IUnknownServer —为IUnknown COM接口的提供运行服务
-
您所有执行IUnknown COM接口的Java COM对象都是基于这个类运行的
-
IDispatchServer —为IDispatch COM接口的提供运行服务
-
您所有执行IDispatch COM IUnknown COM接口的Java COM对象都是基于这个类运行的
-
支持在运行时间创建和注册您的Java COM类
-
该方法广泛应用于OleContainer接口的执行和COM事件的支持中
-
支持创建任意的用户COM类,并通过特点的专门设计的“服务管理”程序在系统中将其注册为COM服务。