I have decided to replace these with a SQLite3 database. When I try to activate the SQLQuery component on my form I get an error message. "Cannot load SQLite client library sqlite3.dll. Check your installation". Also on the form are a SQLite3Connection, a SQLTransaction and a datasource component all connected in the usual way. There is also a DBGrid and a DBNavigator I have sqlite3.dll in my project folder and the Lazarus installation is brand new. Should I reinstall Lazarus or do I have sqlite3.dll in the wrong place.
I have since found that I also need sqlite3.dll in the same folder as the project executable. Without it there are error messages at runtime. Problem therefore appears to be solved.
Quote from: TonyR500 on July 06, 2020, 11:43:15 pmI have since found that I also need sqlite3.dll in the same folder as the project executable. Without it there are error messages at runtime. Problem therefore appears to be solved.Yes, it needs to be in both locations as both binaries (the lazarus.exe and your application) need to be able to load the library.
On a 64 bit Windows you can also put both dlls in the systems default locations:64 bit dll to: C:\Windows\system3232 bit dll to: C:\Windows\SysWOW64So both 32 and 64 bit apps will work without copying dlls to the executable directories.
Yes, global directories are possible, but this has the danger - aside from what Awkward mentioned - that the global library might have an incompatible version. And Windows DLL usually are not versioned unlike *nix ones.