正在获取无法加载SQLite3.dll!找不到Autohotkey错误

时间:2018-10-14 14:06:35

标签: sqlite autohotkey

我在Autohotkey应用程序中遇到sqlite3.dll找不到错误。我在sqlite3.dll

的项目中已经有sqlite3.dll文件

错误在这里SQLite_L.ahk#L107产生:

if(FileExist(sqliteDllPath)){
      DLL := DllCall("LoadLibrary", "Str", sqliteDllPath)
      if(!DLL)
         throw Exception("Can't load " . sqliteDllPath . "! (token:18-10-12_11-52. BTW DllCall is in AHK v2 is case sensitive)", -1)

在此应用程序中,我在 64位Windows 10 10.0联想t540p(管理员帐户)。 还为朋友圈中的其他人(而非管理员帐户)工作。 一个用户向AHK论坛报告了我的错误。

我的第一步:

  1. 在我的研究中,我发现: [AHK v2中的DllCall区分大小写] [3] 我猜他将使用版本2。 所以到处都将SQLite3.dll更改为sqlite3.dll
  2. 但是今天我在另一台笔记本电脑上遇到了这个错误(来自github的最新下载)。 因此,我已将项目解压缩到其他目录中。

    [3]:https://autohotkey.com/boards/viewtopic.php?t=3280“ AHK v2中的DllCall区分大小写”。没有成功。

1 个答案:

答案 0 :(得分:1)

SQLite dll是64-bit DLL(sha1:9fad624c1aa1c0c9ba20230f2e176fac305edac5)

但安装的是32-bit AHK

A_Is64bitOS [v1.1.08 +]:如果操作系统为64位,则包含1(真)

A_PtrSize [v1.0.90 +]:包含指针的大小,以字节为单位。如果AHK是64位8。

如果ahk更新为64位,此错误消息消失。 理想情况下,也应该在脚本中对此进行检查。

ahkIs64version := (A_PtrSize=8 ? "64-bit" : "32-bit")
MsgBox % "Script is MsgBox % "Script is  . (ahkIs64version ? "64-bit" : "32-bit")
if(!ahkIs64version)
    MsgBox,% "Error: AHK Version (32-bit) not match to Sqlite Version (64 bit). Please update your ahk-Version or choose another Sqlite Version"