关于DLL文件函数调用失败有关问题
关于DLL文件函数调用失败问题
创建两个ActiveX DLL文件
AAA.DLL 内容如下:
类名:AAA,工程名:AAA2
Public Function TestAAA(ByVal x As Long) As Long
MsgBox "TestAAA Sucess"
TestAAA = 1
End Function
BBB.DLL 内容如下:
类名:BBB,工程名:BBB2
Private Declare Function TestAAA Lib "AAA.DLL" (ByVal x As Long) As Long
Public Sub Test()
TestAAA 100
End Sub
我在EXCEL VBA 下引用上述两文件(存放在C:\WINDOWS\SYSTEM32,并注册成功)并引用成功
'Public Declare Function TestAAA Lib "AAA.DLL" (ByVal x As Long) As Long
'Dim a As New AAA
Dim b As New BBB
Sub AAAA()
' Call TestAAA(100)
' Call a.TestAAA(100)
b.Test
End Sub
运行时出现错误453 提示:不能找到入口点TESTAAA在"AAA.DLL",请问有哪位前辈知道这是为啥?
另外再问一下,为什么自己写的dll文件里面的函数不能象API函数直接调用使用,谢谢
private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
------解决方案--------------------
VB编写的 ActiveX DLL 是COM组件,不能用 Declare 声明调用,只能在VB工程中通过引用调用。
创建两个ActiveX DLL文件
AAA.DLL 内容如下:
类名:AAA,工程名:AAA2
Public Function TestAAA(ByVal x As Long) As Long
MsgBox "TestAAA Sucess"
TestAAA = 1
End Function
BBB.DLL 内容如下:
类名:BBB,工程名:BBB2
Private Declare Function TestAAA Lib "AAA.DLL" (ByVal x As Long) As Long
Public Sub Test()
TestAAA 100
End Sub
我在EXCEL VBA 下引用上述两文件(存放在C:\WINDOWS\SYSTEM32,并注册成功)并引用成功
'Public Declare Function TestAAA Lib "AAA.DLL" (ByVal x As Long) As Long
'Dim a As New AAA
Dim b As New BBB
Sub AAAA()
' Call TestAAA(100)
' Call a.TestAAA(100)
b.Test
End Sub
运行时出现错误453 提示:不能找到入口点TESTAAA在"AAA.DLL",请问有哪位前辈知道这是为啥?
另外再问一下,为什么自己写的dll文件里面的函数不能象API函数直接调用使用,谢谢
private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
------解决方案--------------------
VB编写的 ActiveX DLL 是COM组件,不能用 Declare 声明调用,只能在VB工程中通过引用调用。