Hello: I had problems with Sqlite3 it raised SIGSDEV exception, but I think it worked with FPC 2.6.4 from Lazarus 1.6. (not sure because It is a new PC, but with 1.8.0) . Finally I have found where the problem is.
The problem is in sqlite3conn.pp: procedure TSQLite3Connection.checkerror(const aerror: integer); Var ErrMsg : String; ErrCode : integer; begin if (aerror<>sqlite_ok) then begin ErrMsg := strpas(sqlite3_errmsg(fhandle)); ErrCode :=sqlite3_extended_errcode(fhandle); // <========== here is the problem raise ESQLDatabaseError.CreateFmt(ErrMsg, [], Self, ErrCode, ''); end; end; The problem is that sqlite3_extended_errcode is not a regular function, is a pointer to a function, and it is nil. So I added: if assigned(sqlite3_extended_errcode) then ErrCode :=sqlite3_extended_errcode(fhandle); else ErrCode := 0; Why is sqlite3_extended_errcode nil? It is assigned in sqlite.inc as a pointer to a function of sqlite3.dll. pointer(sqlite3_extended_errcode) := GetProcedureAddress(LibHandle,'sqlite3_extended_errcode'); I downloaded the last version of sqlite3.dll and now it works. Was my dll corrupted or was too old and hadn't such entry?. Nevertheless, I think this check of nil should be done, or check the version and rise "Not valied for this version". A SIGSDEV may drive you nuts. -- Saludos Santiago A. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal