VB调用DLL疏失,求高手帮忙
VB调用DLL出错,求高手帮忙
我用VB6.0创建了一个activexDLL,名称为SH.DLL,在其中定义了MIS1,MIS2,MIS33个类文件,
其中MIS1定义了一个函数Public Function Trans(Request As MIS2, Response As MIS3) As Long,
MIS2中定义了输入的数据类型:Public PNumber As String Public SNumber As String等一些数据
MIS3中定义了一些要输出的数据类型:Public PNumber As String Public SNumber As String
我另外用VB6.0做了一个EXE测试程序,代码如下:
Private Sub Command1_Click()
Dim a As Object
Dim b As Object
Dim c As Object
Set a = CreateObject("SH.MIS1")
Set b = CreateObject("SH.MIS2")
Set c = CreateObject("SH.MIS3")
Dim ret As Long
With b
.PNumber = 1
.SNumber = 2
End With
ret = a.Trans(b, c)
End Sub
在执行到ret = a.Trans(b, c) 会返回“运行时错误13:类型不匹配”的错误
如果我把代码修改成如下:
Private Sub Command1_Click()
Dim a As New SH.MIS1
Dim b As New SH.MIS2
Dim c As New SH.MIS3
With b
.PNumber = 1
.SNumber = 2
End With
ret = a.Trans(b, c)
End Sub
并在工程--引用里增加SH.DLL的引用,就可以正常运行,没有报错
谁可以告诉我这两个调用方法的区别是什么吗?
如果我需要使用第一种调用方法,我应该怎么去修改程序,才能不报错?
------最佳解决方案--------------------
你定义的是用户数据类型,而不是对象。就你现在的需求,也没有必要定义对象。
所谓第一种方法,你可以看看有关类模块。
------其他解决方案--------------------
希望高手来帮忙看下啊,非常感谢啊
------其他解决方案--------------------
能帮忙写个简单的实例程序吗?创建一个DLL,然后在EXE程序中调用DLL
我用VB6.0创建了一个activexDLL,名称为SH.DLL,在其中定义了MIS1,MIS2,MIS33个类文件,
其中MIS1定义了一个函数Public Function Trans(Request As MIS2, Response As MIS3) As Long,
MIS2中定义了输入的数据类型:Public PNumber As String Public SNumber As String等一些数据
MIS3中定义了一些要输出的数据类型:Public PNumber As String Public SNumber As String
我另外用VB6.0做了一个EXE测试程序,代码如下:
Private Sub Command1_Click()
Dim a As Object
Dim b As Object
Dim c As Object
Set a = CreateObject("SH.MIS1")
Set b = CreateObject("SH.MIS2")
Set c = CreateObject("SH.MIS3")
Dim ret As Long
With b
.PNumber = 1
.SNumber = 2
End With
ret = a.Trans(b, c)
End Sub
在执行到ret = a.Trans(b, c) 会返回“运行时错误13:类型不匹配”的错误
如果我把代码修改成如下:
Private Sub Command1_Click()
Dim a As New SH.MIS1
Dim b As New SH.MIS2
Dim c As New SH.MIS3
With b
.PNumber = 1
.SNumber = 2
End With
ret = a.Trans(b, c)
End Sub
并在工程--引用里增加SH.DLL的引用,就可以正常运行,没有报错
谁可以告诉我这两个调用方法的区别是什么吗?
如果我需要使用第一种调用方法,我应该怎么去修改程序,才能不报错?
------最佳解决方案--------------------
你定义的是用户数据类型,而不是对象。就你现在的需求,也没有必要定义对象。
所谓第一种方法,你可以看看有关类模块。
------其他解决方案--------------------
希望高手来帮忙看下啊,非常感谢啊
------其他解决方案--------------------
能帮忙写个简单的实例程序吗?创建一个DLL,然后在EXE程序中调用DLL