PDA

查看完整版本 : [MATLAB混合编程] VB调用MATLAB时,显示错误:用户定义类型未定义


多多月
2012-04-17, 11:15
程序如下:
Option Explicit
Private geneIndex(1 To 8, 1 To 3) As Double
Private genePlatform(1 To 2) As Double
Private MyGenetic As Genetic.Genetic
Private Sub Cmdcompute_Click(Index As Integer)
Dim varResult As Variant
'平台参数
genePlatform(1) = Val(TxtFun(0).Text)
genePlatform(2) = Val(TxtFun(1).Text)
'设备参数(长度)
geneIndex(1, 1) = Val(TxtFun(2).Text)
geneIndex(2, 1) = Val(TxtFun(3).Text)
geneIndex(3, 1) = Val(TxtFun(4).Text)
geneIndex(4, 1) = Val(TxtFun(5).Text)
geneIndex(5, 1) = Val(TxtFun(6).Text)
geneIndex(6, 1) = Val(TxtFun(7).Text)
geneIndex(7, 1) = Val(TxtFun(8).Text)
geneIndex(8, 1) = Val(TxtFun(9).Text)
'设备参数(宽度)
geneIndex(1, 2) = Val(TxtFun(10).Text)
geneIndex(2, 2) = Val(TxtFun(11).Text)
geneIndex(3, 2) = Val(TxtFun(12).Text)
geneIndex(4, 2) = Val(TxtFun(13).Text)
geneIndex(5, 2) = Val(TxtFun(14).Text)
geneIndex(6, 2) = Val(TxtFun(15).Text)
geneIndex(7, 2) = Val(TxtFun(16).Text)
geneIndex(8, 2) = Val(TxtFun(17).Text)
'设备参数(高度)
geneIndex(1, 3) = Val(TxtFun(18).Text)
geneIndex(2, 3) = Val(TxtFun(19).Text)
geneIndex(3, 3) = Val(TxtFun(20).Text)
geneIndex(4, 3) = Val(TxtFun(21).Text)
geneIndex(5, 3) = Val(TxtFun(22).Text)
geneIndex(6, 3) = Val(TxtFun(23).Text)
geneIndex(7, 3) = Val(TxtFun(24).Text)
geneIndex(8, 3) = Val(TxtFun(25).Text)

MyGenetic.plat = genePlatform
MyGenetic.equip = geneIndex

Call MyGenetic.Genetic(1, varResult, plat, equip)

Dim intI As Integer
Dim intJ As Integer
For intI = 1 To 24
TxtResult(intI - 1).Text = ""
TxtResult(intI - 1).Text = Str(varResult(intI))
Next
End Sub

Private Sub Cmdcancel_Click()
'卸载窗体
Unload frmgenetic
End Sub

Private Sub frmgenetic_Load()
Set MyGenetic = New Genetic.Genetic
End Sub
我已经引用了MATLAB中生成的genetic_1_0.dll,运行时Private MyGenetic As Genetic.Genetic显示错误;“用户定义类型未定义”,求高手指点。