|
-
Jul 15th, 2026, 11:40 AM
#1
[VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
TC6SQLite is another "em dash repo" namely Claude's reimplementation of the SQLite subsystem of RC6 as a single Ax-DLL.
Note that TB's x64 port is not ready i.e. still uses winsqlite3.dll and does not embed sqlite in final Ax-DLL.
cheers,
</wqw>
Last edited by wqweto; Jul 16th, 2026 at 04:12 AM.
-
Jul 16th, 2026, 08:26 AM
#2
Addicted Member
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
Well done, wqweto!
Your RC6-compatible tools are a real breakthrough for ensuring the survival of our codes! Thank you for these initiatives.
-
Jul 16th, 2026, 08:52 AM
#3
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
Btw, I've been using RC6 sqlite classes since it was DatenHouse dhRichClient3 and before acquainting Olaf in these forums.
The replacement so far works ok in a project of mine though not extensively tested as the project does not touch very many methods/properties.
cheers,
</wqw>
-
Jul 16th, 2026, 10:16 AM
#4
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
My usage of dhRichClient3 and vbRichClient5 is mostly: cSortedDictionary and the SQLite Connection and cRecordSet
Building a new library with my own cSortedDictionary alternative, based on cHashD on the forum
And wrote with CoPilot a wrapper for the sqlite3.dll with just the methods/classes I need.
-
Jul 16th, 2026, 12:53 PM
#5
Lively Member
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
There are 2 points in RC5/6 that I find, so far, to be unique... which are...
Encryption mechanisms and using custom Functions and Collations, which are easily accessed by a class in VB6.
Is there any intention to implement either of these items?
Edit:
I just saw on Git that this has been implemented:
User-defined functions, aggregates, and collations via IFunction / IAggregateFunctionICollation
Incredible!
Last edited by ThiagoPSanches; Jul 16th, 2026 at 12:59 PM.
-
Jul 17th, 2026, 11:38 PM
#6
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
Code:
'--- CDecl / C-variadic exports (8) - intentionally NOT declared so the
'--- module stays pure StdCall for VB6 (x86) and tB (x86/x64)
Purely for vb6... tB supports cdecl and variadic functions, both ... and va_list.
-
Member
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
Hi wqweto,
Great addition!
I recently did a similar project but related the typelib to the DAO/MSAccess structure instead of the one in RC6. I do not embed sqlite3 into the AX-DLL but use a method SetDLL() as I find it cumbersome to always compile a stdcall obj for every new version of sqlite. (Using Tricks CDECL fix). Furthermore there are some sqlite3 variants e.g. in GDAL, that implement additional functions (e.g GIS functions) that can be used in the SQL statements.
Anyway: TC6 has the same problem I came across when opening recordsets (prepare statement): SQLite has only the step forward cursor and nothing like step_previous, step_move, step_last. So I did the same as you with the materialize() function: Load all columns and all rows into a variant array until ret <> SQLITE_ROW. This is applicable for small databases, but not for those with 100thds of rows, especially when BLOBs are contained. (Example: The poi files here (=sqlite) : https://www.openandromaps.org/downloads/europa; some have a size of 800Mb.)
The solution I am actually working on is to alter the SQL statement for the recordset in the Move-methods and in case it exceeds the variant array size prepare a new statement refering to appropriate rowids and with limits set; said, I filter the recordset according the cursor.
Not easy in some cases. Just a hint.
Last edited by SaschaT; Today at 03:09 AM.
-
Addicted Member
-
Addicted Member
-
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
-
Addicted Member
Re: [VB6/TB] TC6 (TwinClient 6) — SQLite for VB6 and TwinBasic
Yes, What ??
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|