【问题标题】:Using Commands in OCX library in Matlab在 Matlab 中使用 OCX 库中的命令
【发布时间】:2011-06-22 22:26:47
【问题描述】:

我试图在 matlab 中编写一个与旧硬件接口的脚本。串行 I/O 例程是用 BASIC 编写的,并包含在 .ocx 文件中。以前这些是在 VB6 脚本中调用的。

我希望能够从 matlab 中调用 .ocx 文件中的脚本并从那里进行所有后处理。我在 matlab 中研究过 activex 控件,但那些似乎专注于 GUI 和类似的东西。

有没有办法将这些函数导入matlab?还是有必要把函数编译成别的东西?

感谢您的宝贵时间!

【问题讨论】:

    标签: matlab ocx


    【解决方案1】:

    您应该能够为此使用actxcontrol 函数。见:

    http://www.mathworks.com/help/techdoc/ref/actxcontrol.html

    ActiveX 控件(又名 *.ocx)通常用于 GUI 目的,但并非必须如此。 actxcontrol 有许多构造函数 - 你只需要第一个,它只需要控件的 progid (其他重载指定位置,用于 GUI 类型的控件)。

    然后,您将使用 interfacesinvoke 函数调用 OCX 中的方法。

    【讨论】:

    • 强制性评论:ActiveX/OCX 是一些严重过时的技术。这可能是您将封装在 BASIC 代码中的逻辑转移到更现代的东西(然后您可以从中获得更多价值的工作)的好机会。
    • 非常感谢您的帮助!关于这一切都已过时,您绝对是对的。不幸的是,目前时间是一个因素,因此需要一个短期的解决方案。因为我们没有任何关于串行通信的文档,除了包含在 BASIC 代码中的内容(我没有经验)。这就是我们要使用现有库的原因。
    • @James:我了解您的情况,这就是为什么我不会推荐替代方案,即将您的 Matlab 代码编译为 .Net 程序集并将其合并到处理串行的 C# 应用程序中港口的东西。这与您当前所做的完全相反,即将串行端口的东西封装为 COM 对象并将其包含在您的 Matlab 应用程序中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多