• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Matlab与vc混合编程中的问题,使用idl文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
发信人: 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,不知道什么原因!
: 请大家帮帮我!
: 谢谢了!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab工具函数——logdet(A)发布时间:2022-07-18
下一篇:
Qt-使用QSerialPort实现串口通信 - 疯狂delphi发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap