Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-12, 23:43   #1
wanhuachan
初级会员
 
注册日期: 2009-04-12
年龄: 38
帖子: 1
声望力: 0
wanhuachan 正向着好的方向发展
默认 vb与matlab混合编程求助

我是vb跟matlab的新手,最近研究混合编程的问题!我的m文件很简单:
function y=testm(x)
y=5*x;

用matlab的comtool将m文件转换成dll供vb调用。
vb代码如下:
Private a As Double
Private b As Double
Private thetest As mytest.Test '建立对象

Private Sub Command1_Click()
If thetest Is Nothing Then Exit Sub
On Error GoTo handle_error
b = thetest.testm(1, b, a) '调用matlab函数
Label1.Caption = b
Exit Sub
handle_error:
MsgBox (Err.Description)
End Sub
Private Sub Form_Load() '初始化
On Error GoTo handle_error
Set thetest = New mytest.Test
a = 1
b = 5

Exit Sub
handle_error:
MsgBox (Err.Description)
End Sub

Private Sub Text1_Change()
On Error Resume Next
a = CDbl(Text1.Text)
If Err <> 0 Then
a = 1
End If
End Sub

调试时报错说b = thetest.testm(1, b, a),缺少函数或变量。
将上面语句改为 call thetest.testm(1, b, a),调试通过,但b的值没有随a的值改变,即无论text框输入多少label1的值始终是5!
烦请各位高手赐教~
wanhuachan 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 18:23


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.