On 2017/02/17 5:17 PM, Stephen Chrzanowski wrote:
(A little bit off topic)

On Fri, Feb 17, 2017 at 9:32 AM, R Smith <rsm...@rsweb.co.za> wrote:

..... though some wrappers exist for almost all programming languages and
they are relatively easy to use too - *but for brute speed and control,
use the API directly.*

Ever since I found SQLite3 and a decent wrapper that does exactly what I've
needed it to do, I've ALWAYS wanted to do a direct port of the Amalgamation
into a Delphi/Pascal unit so I can just include it and have the
functionality built in, period, built by the Pascal engine.  However, when
I last looked at the Amalgamation source code, it was 4 meg in size.  It'd
take me a while.... :]

One of these days.....

You don't need a Port, just a good translation. A port won't be update-able, an API translation would be. Best of this is to link a DLL which means the C code is all compiled in the DLL and Delphi merely maps the DLL using C calling conventions, easy mode - not to mention the boon of being able to swap out DLLs easily without recompiling the parent exe.

Prefer not to link? Delphi can compile C files directly into .obj files which you can link against at compile time (so no external libraries), but then you lose the option of swapping out newer DLLs and you need to re-compile against the newest C files. The Delphi system might be expensive, but the compilers are free (at least some versions of it).

Another option is a good Delphi wrapper that makes a database connection into an object you can use as needed, but without the fat.

Others and myself have, over the years, created very good versions of these for Delphi - you can see them in action in many products, most notably perhaps SQLitespeed (http://www.rifin.co.za/software/sqlc/), and you are welcome to have the code - they are free and up to date, supporting all versions (but only tested up to XE8). Poke me off-list if you would like them.

What you definitely don't want to do is Porting the code to a delphi language (C++, Obj Pascal etc). That will require re-inventing the wheel (or at least re-manufacturing it a bit) with every release.

Cheers,
Ryan



_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to