Current Version: 3.0.25
Version 3.0.25
- fix in Rs.GetRowsWithHeaders - ColumnHeader-Names were not
"reflected" correctly, when a reduced ColumnSet was
specified in the appropriate Parameter.
- due to changes in the sqlite-engines behaviour, some
additional checks were necessary in some UDFs of the wrappers
builtin "VB-Function-Set", to not run into (now potentially)
empty char-pointers (when using CDate(), CDbl(), etc. in
SQL-expressions).
- new build of my (__stdcall) sqlite36_engine.dll against
version 3.7.5 again, since I've forgot to specify a __cdecl
in an FTS3-callback, which broke FTS3-functionality.
Version 3.0.24
- fix in GetADORsFromContent - Columns, marked as
"ColumnType NULL" were not properly respected in the
ADO-Rs-conversion process.
- "preventional fixes" in the XML-parser (cSimpleDOM)
no bug-report so far, but potential buffer-overruns
are now covered, thanks to a hint from Wolfgang Enzinger
Version 3.0.23
- fix for a cCollection-serialization-issue regarding
VB-persitable *Object*-Members within a cCollection,
having a Count > 30.
- fixed an incorrect Type-Assignment for SQLite-TableSchemas,
which defined ColumnTypes as 'TimeStamp' (meaning a
"full Date + Time") - this was colliding with my normal
detection of the ColumnType 'Time' (interpreting the
fieldcontent as a "naked time-value"). So, 'TimeStamp'
is now correctly detected and treated equally to the
Field-Type-Specifier 'DateTime'.
Version 3.0.22
- small fix in the SAX-Parser, to not choke on Attribute-
content, which contains additional quotes (rarely seen,
but the fix is there now).
- added LZMA-compression/decompression-method to cCrypt
- added GZ-compression/decompression-method to cCrypt
Version 3.0.21
- changed the cSimpleDOM-Class, so that it works also,
if multiple instances of a cSimpleDOM are used in
parallel - the old behaviour was, that only one
single instance of cSimpleDOM was usable through-
out a given Project (or process) - the old behaviour
was due to performance-reasons (holding XML-structures
publically in a *.bas) - but I've managed, to have the
new version working only about 5-7% slower...
Version 3.0.20
- updated the Rs.UpdateBatch-Mode of the cRecordset-Class,
to not fail on comparisons of Null-Fields (in single
Field-Value-Update-Mode). That patch is of *no* relevance
for those, who already include a Primary-Key-Field into
their Rs-Selects (which is in either case highly recommended,
if the Rs.UpdateBatch-feature is used).
- also included a dynamic Public-Key assignment-feature
into the cRPCConnection.Password-Property - if given
PasswordStrings are enhanced this way:
cRPCConnection.Password = "ThePassword" & _
":$Pub_Key$:" & _
CStr(ByteArray_of_PubKeyContent)
then the content of the (nonetheless required initial
RPCPublicKey.dh-File) is ignored and the dynamically
given Content is used instead of the FileContent.
Version 3.0.19
- the only change is, that shared_cache-mode is now
enabled by default (for multiple connections, running
in the same process) - the shared-cache codepaths are
now enabled within the latest engine-compile (3.6.20)
Version 3.0.18
- fixed an issue with the general readout of Text-Columns
in the cRecordSet-Class (thanks to Jeremiah for the pointer),
where a performance-optimized code-path was trying to
access memory potentially "outside bounds" - this worked
stable with earlier sqlite-engine-binaries, but apparently
not with the newer ones anymore.
Version 3.0.17
- fixed an issue with ColumnDefs of the type 'Time',
in case these Time-Fields where filled from "foreign
SQLite-Applications", not using the wrapper. In these
cases the Time-Column may contain something as e.g.
'12:00:00.123' as the Field-Value - and the Fix now
correctly translates that into a VB-Date-Variable
(in the former version this was resulting in an error,
since the wrapper only understood TimeFields which
didn't contain additional "fractional parts of a second").
Version 3.0.16
- added a bunch of additional "out-of-memory-checks"
in the cRecordset-Class (especially in the AddNew-Method)
- also enhanced the cSelectCommand-Object, so that it is
now able, to use named params in more than one single
occurence in the SQL-String
Version 3.0.15
- fix in the Recordset-Serializer, only seen on updated
Recordsets which got an Update in the TopLeft "Cell"
(at RowIndex 0 and ColIndex 0)
Version 3.0.14
- fix in cReportPage.CalcDrawTextRows (which was
choking in case the given Text was starting with a
LineFeed
Version 3.0.13
- fixed an issue which (indirectly) led to an "anomaly"
in the Rs.Content serializer (only in smaller Selects,
which started with smaller Integer-Field Values, hold
in a ByteArray first, later on "elevated" to LongArray-
allocations in the Rs-retrieving-process)
Version 3.0.12
- fixed an issue within GetADORsFromContent, not flagging
Primary-Key-Fields correctly - some databound-controls
had problems with such Fields (although contained in the
returned ADO-Rs)
- added an additional refresh, so that the builtin OLEDB-
SimpleProvider is now reflecting RecordDeletes on a
Recordset correctly into a bound Control
Version 3.0.11
- fixed an issue with Cnn.DetachDatabase, this call was
wrapped internally within a transaction and SQLite
doesn't like that.
- hardening-efforts for the server- and clientside
Threadclasses, especially the server-class now is
raising an Error-Event in case one puts more than
64kByte into the serverside RaiseEvent-Parameters
Version 3.0.10
- added support for a generic Latin-Collation into SQLite,
to support a better sort-conformance with other DB-engines
usage: "... Order By SomeTxtFld Collate Latin"
also available: "... Order By SomeTxtFld Collate Latin_NoCase"
- also added First(NumericField, NumericSortExpression) as
well as a Last(.., ..) aggregate-function into the wrapper.
Version 3.0.9
- This update ensures Win98 compatibility again, by testing
the OS-Version internally - and enforcing a proper fallback
of Functions as DrawTextW, TabbedTextOutW, etc. to the
appropriate Unicode-Translation-functions in unicows.dll
(in case this small Dll is placed either beside the 3-Dll-Set
or beside your hosting Exe-Process in your Win98-deployment-
packages). You can download unicows.dll from the official MS-
download-site:
http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-4F0D-80A4-2A7EEAEE17E2&displaylang=en
Please keep in mind, that this update does not (re)enable
the full functionality of the RichClient on Win98 (e.g.
the advanced, namedpipe-based threading functionality will
not work - also the RPC-*Server*-functionality will only
work when hosted on W2K or XP and above. But this advanced
functionality is seldom required - the more interesting classes
as for example the SQLite-wrapper or the Reporting-classes
should now work also in Win98 again.
Version 3.0.8
- only a small update inside cRecordset.GetADORsFromContent...
It is now able to transport SQLite-NullValues - which can
be checked with IsEmpty(Rs.Fields(SomeField).Value) - also
into the derived ADO-Rs the above mentioned method delivers.
Version 3.0.7
- fixes, to increase Debug-Stability in the VB6-IDE (in case
one was using the Debug-WatchWindows against RichClient-
Obj-Variables)
These were caused due to minimal-implementations of the
IEnumVariant-Interface - now all related classes contain
a full IEnumVariant-Implementation, which the WatchWindows
expect (since they also cause .Reset and .Skip on Container-
Classes who implement IEnumVariant).
评论5