Не удается загрузить SQLite3.dll!не найдена ошибка с AutoHotkey - PullRequest
0 голосов
/ 14 октября 2018

Я получаю ошибку sqlite3.dll не найденную в приложении Autohotkey.У меня уже есть файл 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 lenovo t540p (Admin-Account).Также работал для других в кругу друзей (не Admin-Аккаунт).Пользователь сообщил об этой ошибке на AHK-Forum.

Мои первые шаги:

  1. Во время моей проверки я обнаружил: [DllCall в AHK v2 чувствителен к регистру] [3]Я предполагаю, что он будет использовать версию 2. Поэтому везде я менял SQLite3.dll на sqlite3.dll
  2. Но сегодня я получил эту ошибку на другом ноутбуке (свежий загрузчик из github).Поэтому я распаковал проект в разных каталогах.

    [3]: https://autohotkey.com/boards/viewtopic.php?t=3280 "DllCall в AHK v2 чувствителен к регистру".Безуспешно.

1 Ответ

0 голосов
/ 15 октября 2018

dll SQLite 64-битная DLL (sha1: 9fad624c1aa1c0c9ba20230f2e176fac305edac5)

, но установлен 32-битный AHK

A_Is64bitOS [v1.1.08 +]: содержит 1 (true), если ОС является 64-разрядной

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"
...