我创建了一个DLL(使用C ++),它依赖于sqlite3.dll
(用于数据库访问和sqlcipher),我试图使用VBA
访问它。在VBA
我使用以下声明:
Declare Function GetData_VBA Lib "xyz.dll" (ByVal path As String, ByVal id As String, ByRef inputArr() As String, ByRef output() As String) As Boolean
早些时候DLL不依赖于sqlite3.dll
它工作正常,但当我介绍sqlite3.dll
它开始抛出错误
错误53:找不到xyz.dll
我尝试将声明更改为
Declare Function GetData_VBA Lib "C:\documents\user\...\projects\xyz.dll" (ByVal path As String, ByVal id As String, ByRef inputArr() As String, ByRef output() As String) As Boolean
但它仍然表现出同样的东西。我使用dependency walker
检查所有对xyz.dll
的依赖。我尝试将所有xyz.dll
和sqlite3.dll
放在同一位置,但仍然是同样的错误。
在cryptlib.lib
依赖的sqlite3.dll
失踪了。我提供了.lib文件,它工作正常。