Topic: SQLite Lazarus
Hi,
I have found in the sources of Free Pascal 2.0.4 a wrapper on the sqlite C interface:
/usr/share/fpcsrc/packages/base/sqlite/
How does your work relate to this interface?
Thanks in advance for your answer,
Gilles Marcou
You are not logged in. Please login or register.
Hi,
I have found in the sources of Free Pascal 2.0.4 a wrapper on the sqlite C interface:
/usr/share/fpcsrc/packages/base/sqlite/
How does your work relate to this interface?
Thanks in advance for your answer,
Gilles Marcou
Hi Gilles,
SqlitePass doesn't use any of the files included in /usr/share/fpcsrc/packages/base/sqlite/ even if the sqlite3.pp file and SqlitePassApi-v3.pas share the main goal : to load the external sqlite library (sqlite.dll or sqlite.so) and import the functions in order to use the db engine.
In fact, I started to write this library because I needed to manipulate data from sqlite under Delphi 4 and Lazarus. As you can guess, Delphi doesn't include files like the ones found in /usr/share/fpcsrc/packages/base/sqlite/...
So I had to have my own specific files to work with Delphi.
Another difference (a huge one) is that TSqlitePassDataset is designed to work with data_aware controls and inherits from TDataset. Of course you can use it alone as a classic table or query.
I'm always interested in feedback about problems or bugs. If you use the components on linux (your files path seems to be a Linux/Unix one), let me know how the library works. I can't test it under Linux.
Of course, your feedback will be welcome even if you use win32...
Thanks.
Luc
I think I have found a problem with using SQLitePass in a lazarus application under linux and also having sqliteds in the 'uses' section can cause runtime errors in the application. I was not actually using sqliteds and removing it from the uses clause solved the problem (took a while to work that out though). I did not have that problem with the same source code under Windows lazarus. I can happily report that SQLitePass seems to work fine under lazarus 0.9.26 (same issue with sqliteds though).
When I said it worked OK under Linux and Lazarus, I forgot that I was not using the design component on the form, just creating everything in the program.
There is a problem (at least under both Ubuntu 7.10 and 8.04 and Lazarus 0.9.24 and 0.9.26) where dropping a SQLitePassDatabase on a form will result in a corrupted .lfm file. Specifically, the Options.Synchronous and Options.TemporaryStorage fields have bad characters written to them. Possibly some of the bytes written look like they could be 32bit integers (looking at the .lfm file with a hex editor). Also just tried Lazarus 0.9.26 under windows and those option values also get corrupted.
Hi John,
Thank you for all your comments on the component. I will try to fix it for the next incoming version (0.40).
I was ready to publish an upgrade with some changes but I decided to delay the next public version because I am completely rewriting the TsqlitePassRecordset object in order to work with pointers and paged memory.
I changed the internal TsqlitePassTranslator object too.
These changes should increase the component speed.
I plan the 0.40 version to be available by the end of november.
Luc
Sounds good, thanks.
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.