在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
标 题: 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,不知道什么原因! : 请大家帮帮我! : 谢谢了! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论