LiteSync and Xojo
For MacOS, you need the library files libbinn.1.dylib, libuv.1.dylib and liblitesync.0.dylib. Than you change the library and dependencies via Terminal like this:
install_name_tool -change libbinn.1.dylib @rpath/libbinn.1.dylib liblitesync.0.dylib
install_name_tool -change /usr/local/lib/libuv.1.dylib @rpath/libuv.1.dylib liblitesync.0.dylib
install_name_tool -id @rpath/liblitesync.0.dylib liblitesync.0.dylib
install_name_tool -id @rpath/libuv.1.dylib libuv.1.dylib
install_name_tool -id @rpath/libbinn.1.dylib libbinn.1.dylib
Next you can load them just like other SQLite library with our plugin classes SQLDatabaseMBS or SQLConnectionMBS.
Our example code looks like this:
dim db as new SQLDatabaseMBS
// preload the libraries
dim s2 as new SoftDeclareMBS
if not s2.LoadDylib(GetFolderItem("libuv.1.dylib").NativePath) then
break
MsgBox s2.Liberror
end if
dim s1 as new SoftDeclareMBS
if not s1.LoadDylib(GetFolderItem("libbinn.1.dylib").NativePath) then
break
MsgBox s1.Liberror
end if
dim s3 as new SoftDeclareMBS
if not s3.LoadDylib(GetFolderItem("liblitesync.0.dylib").NativePath) then
break
MsgBox s3.Liberror
end if
// where is the library?
db.Option(SQLConnectionMBS.kOptionLibrarySQLite) = GetFolderItem("liblitesync.0.dylib").NativePath
// connect to database
// in this example it is SQLite,
// but can also be Sybase, Oracle, Informix, DB2, SQLServer, InterBase, MySQL, SQLBase and ODBC
dim path as string = "/tmp/test.db" // put the database in the temporary folder
db.DatabaseName = "sqlite:"+path
if db.Connect then
dim r as RecordSet = db.SQLSelect("select sqlite_version()")
if r = nil or r.eof then
MsgBox "Failed to query version."
else
MsgBox "Version: "+r.IdxField(1).StringValue
end if
else
MsgBox db.ErrorMessage
end if