matla使用的版本是2010a,VB6,例子来自一篇论文。练习时成功用deploytool函数生成了DLL,但最后在VB中调用时却报错,不知哪位大大知道是什么原因?谢谢!
参考的例子如下
第 一步 : MATLAB 软 件编译
(1)新建函数文件(add.m)。 ( 保存至 C:\Users\Administrator\Desktop\DEMO),m文件内容如下:
function y=Add(X1,X2)
y=X1+X2;
end
(2)设置编译器 : 启动 Matlab, 核 实编译器 。
(3)DLL 文件生成 :命令窗口键入deploytool, 会弹出Deployment Project 对话框。 键 入工程名( Demo), 保存地址 ( C:\Users\Administrator\Desktop\DEMO) , 类 型选择 Generic COM Component, 点 击 OK。
(4)现在已经创建好工程 。 需要添加类 , 点击 Add class,添加一个名为abc的新类。
(5)添加文件,点击Add files, 选择所要编译的函数文件(add.m)。
(6)点击 Build,编译工程。Build完成后,DLL文 件就已经生成,并且已经在注册表中注册。VB就可以调用该函数文件了
第二步:VB中调用DLL
(1)启动VB6.0,新建工程,插入控件(4个 Label,两个TextBox,一个CommandButton)。
(2)工程-->引用,打开应用对话框,找到刚才生成的DLL文件,勾选,确认。
(3)双 击“计算 ”,键入代码如下 :
Private Sub Command1_Click ()
Dim demo As demo.abc
Set demo = New demo.abc
X1 = Val (Text1.Text)
X2 = Val (Text2.Text)
Call demo.Add (1, y, X1, X2)
Label4.Caption = y
End Sub
(4)运行程序 , 完成了 。