2

我正在开发一个嵌入到罗克韦尔自动化的 Factory Talk View 中的 ActiveX 控件。(请参阅ActiveX DLL 错误:已解决,看看我有多么好的开始!)

目前我有一个似乎嵌入到主机系统中的 ActiveX 控件,但没有完全集成到 VBA 进程中。我相信这是因为我没有实现一些需要的特定 COM 接口,但我没有关于它是什么的文档。我确实知道像 Microsoft Forms 2.0 控件这样的标准 MS 控件确实实现了所需的接口并完全集成。

我缺少的关键功能与我需要设置的属性有关,以便我的 VBA 代码实际看到 ActiveX 对象。在打开放置在 Factory Talk 屏幕上的任何activeX 控件的属性面板时可以看到此属性,但在查看嵌入在(例如)Excel 中的 ActiveX 控件的属性时不会看到。因此,我可能正在尝试寻找一些自定义的 Rockwell 实现。我希望 SO 能够帮助我了解如何根据识别它实现的功能来追踪我想要的东西。

现在到实际财产。在 Factory Talk 中,该属性称为“ExposeToVBA”,类型为“long”。您可以从下拉列表中选择 3 个值:

    Not Exposed         - When set to this, the controls name is not even visible to VBA code
    Type Info Extension - Not sure what this does
    VBA Control         - VBA code can see and interact with the control.

当我为我的控件选择“未公开”以外的任何内容时,我会收到一个警告对话框,其中没有任何文本。对于其他控件,我需要将其设置为“VBA 控件”以便在 VBA 代码中与其交互(d'oh)

我怀疑此属性的值被转换为对目标控件上的 ActiveX 接口的一些调用。

问题

我想要做的是确定与上述功能相匹配的“Forms 2.0 标签”之类的接口实现。还有也许我如何将其转换为基于 C# 的控件(基于C# ActiveX 控件 (CSActiveX)

我知道这是一个很长的镜头,但我会很感激任何和所有的建议

4

1 回答 1

0

当我发现一个具有我需要的功能的罐装 Active-x 控件时,这变得毫无意义。

FWIW 这就是我相信我使用的:DMGraph

于 2012-11-27T13:08:39.950 回答