luocong2000 发表于 2008-10-30 13:16

用deploytool怎么生成VB可调用的dll?

matlab2007a好像是用deploytool生成dll,我想将m文件弄成vb可以调用的dll文件,应该怎么做?
打开deploytool窗口,新建项目有以下几个:应该选哪个才对
一是matlab compile,里面包含standalone application、cshared library、c++ shared library
二是matlab builder for excel,这个我知道不像
三matlab builder for.net,里面有.net component、generic com component
四是matlab builder forjava,这个似乎也不是
我以前是选择c++ shared library,生成的dll文件跟用mcc命令生成的一样,m文件在matlab中运行无误,而vb中出错
example.m:
function t
fid1 = fopen('m.dat','wb');
m = ;
fwrite(fid1,m,'float');
fclose(fid1);
然后用matlab的mcc命令生成dll(已经设置过mex -setup,mbuild -setup,选择的是MS VC++ 6.0):
mcc -W lib:example -T link:lib example

然后将生成的example.dll拷到VB工程目录下,在模块中声明如下:
Public Declare Sub mlfExample Lib "example.dll" ()
最好在VB的按钮代码中调用这个函数
Private Sub Command1_Click()
Call mlfMyadd2
End Sub
结果运行时一点击就出错(就是VB 遇到问题需要关闭)
另外用dll查看器看生成的dll文件,可以看到很多函数
libexampleInitialize
libexampleInitializeWithHandlers
libexampleTerminate
mlfExample
mlxExample
用到的应该是mlfExample吧?
另外有什么文章是关于VB和matlab的dll之间传递函数的参数的?想找来看看
页: [1]
查看完整版本: 用deploytool怎么生成VB可调用的dll?