我如何知道一个应用程序是否支持OLE2以及哪些方法&属性暴露?

时间:2010-05-24 04:19:24

标签: dll activex sap abap

我想从ABAP调用ActiveX DLL或OLE2对象。

我已经知道如何实例化对象的语法&执行方法:

data: my_object type ole2_object.

create object my_object <ole2object>.

call method of my_object <objectmethod>.

但是考虑到特定的应用程序,我如何知道这是否受支持, ole2object objectmethod 的值/名称是什么?

事务SOLE提供了一个OLE应用程序表,其中包括Excel.Application,我知道它可以实例化为OLE对象,因此看起来你必须首先将OLE2应用程序添加到此表中,但是再次在哪里可以我读了像CLSID&amp; LibType from - 是作为应用程序的一部分发布的吗?

2 个答案:

答案 0 :(得分:2)

对象来自表TOLE。他们的方法和属性存储在表OLELOAD中。

我前段时间发现了一些文档(this onethis one),其中包含了如何找到属性和方法的说明。

CLSID上的指示是succint,但它似乎是HKEY_CLASS_ROOt / CLSID的寄存器中的值与指示的应用程序一致(例如,VISIO.APPLICATION例如)。如果使用regedit搜索此应用程序值,您将找到相应的CLSID。

希望它能帮助你 纪尧姆

答案 1 :(得分:1)

在这种情况下,您只是使用OLE2来访问COM接口。如果您要访问Office应用程序,可能需要查看KB222101。对于其他应用程序和库,您需要API文档,一些合适的示例(不一定在ABAP中,VB就可以了)。用尖头棍子戳开发者或其中三个......

哦,MiTeC有一个名为OLE / COM对象资源管理器的工具,可以是downloaded for free from their website。没有自己使用它,但看起来它可能会有所帮助。