0
我創建了一個DLL(使用C++),它依賴於sqlite3.dll
(用於數據庫訪問& sqlcipher),我試圖使用VBA
來訪問它。在VBA
我使用以下聲明:錯誤53:文件未找到,而是所有的DLL都存在於路徑中
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
放在同一位置,但仍然是相同的錯誤。
你的dll是否在C++環境中測試過? –
sqlite3.dll在您的PATH環境變量中的位置,如果不是,則考慮添加它。或者,如果您正在控制其安裝位置,則可以使用特定位置的LoadLibrary手動加載它。 –
您確定您的* .dll *和* sqlite3.dll *之間沒有架構不匹配(32/64位)嗎? – CristiFati