Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-12
年龄: 38
帖子: 1
声望力: 0 ![]() |
![]()
我是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! 烦请各位高手赐教~ |
![]() |
![]() |