zoukankan      html  css  js  c++  java
  • Matlab与vc混合编程中的问题,使用idl文件

    发信人: xxhn (小湖南), 信区: MathTools
    标  题: Re: Matlab与VC混合编程中出现的问题(用idl或dll来调用)
    发信站: BBS 水木清华站 (Tue Aug 19 15:08:50 2003), 转信

    这儿再提供一种通过Idl或dll来调用com组件的方法(不用生成*.h和*.c文件)
    其实这种方法比通过生成.h和.c文件来调用要简单一些:),还用精华区的例子
    1.通过ole/com object生成idl文件,将此idl文件加入工程,点菜单build-complie 
    comtest_1_0.tlb,生成tlb文件
    2.打开classwizard,点右边的add class-from a type library class,选中刚生成的
    comtest_1_0.tlb(应该在debug\目录下),其实这儿也可以直接选择用matlab的combuilder
    生成的comtest_1_0.dll(这样就省去了第一步),后面将出现生成class的一些对话框,照
    提示去做就可以了,这样就生成了comtest_1_0.h和comtest_1_0.cpp,多了一个Isgltest
    类:)
    3.测试代码如下:
    头文件中只需添加:
    #include "comtest_1_0.h"
    测试代码:
       Isgltest st;
       AfxOleInit();
       if(st.CreateDispatch(_T("comtest.sgltest")))
          {
             st.im_test();    
             AfxMessageBox("Haha,Succeeded");
             st.ReleaseDispatch();
          }
       else
             AfxMessageBox("UnSucceeded");

    上述代码的具体意义参看msdn,我也是刚刚摸索到:)

    【 在 promise0608 (promise0608) 的大作中提到: 】
    : 我在使用COM组件时,用Microsoft Visual Studio的工具OLE Viewer 打开生成的组件。找
    : 到那个用Matlab com builder生成的Dll文件,将其另存为*.h 和*.c 文件时,出现错误!
    : 我用的是VC.NET,不知道什么原因!
    : 请大家帮帮我!
    : 谢谢了!

  • 相关阅读:
    关于“云计算”
    实现工作流至少需要几张表?
    BPI (业务流程改进)项目的管理沙龙笔记
    对“设计”工作在流程中的重新定位
    面向。。。驱动
    定个小目标
    Redis源码分析Sentinel(1)Sentinel服务器
    Redis源码分析Sentinel(3)主观下线与客观下线
    Redis源码分析Sentinel(2)实例处理的Monitor half
    Redis源码分析Sentinel(4)实例处理的Acting half
  • 原文地址:https://www.cnblogs.com/dayouluo/p/94234.html
Copyright © 2011-2022 走看看