-
Notifications
You must be signed in to change notification settings - Fork 0
/
_Version-History.txt
730 lines (559 loc) · 47.3 KB
/
_Version-History.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
version 6.0.0.12
- another attempt to make cWebView2-Loading-Behaviour more compatible with other Host-Processes than VB6-compiled executables
(now passing manually allocated WStrings instead of StrPtr(to BSTR) in the ICoreWebView2EnvironmentOptions-Interface)
- fix and sanity-check for the first (StdDev) parameter of the cCairoSurface.GaussianBlur method
(now returning just an unchanged copy of the original surface, instead of crashing)
version 6.0.0.11
- update of this distribution-packages MS-"WebView2Loader.dll" (to newest version 1.0.1462.37)
- attempt to improve cWebView2-Loading-Behaviour in the Bind-Method
(by determining the "compatible-version" via GetAvailableCoreWebView2BrowserVersionString-FlatAPI)
version 6.0.0.10
- updated cairo_sqlite to newest SQLite-Version: 3.39.2
- introduced a new cCursor-Class for more lightweight "Stepping" through SQLite-Resultsets...
(usage basically like a CmdObject - followed by: Do While cCursor.Step: V = cCursor.ColVal(idx): Loop)
- added new Events to cWebView2 (WebResourceResponseReceived, FrameCreated, DownloadStarting)
- ... as well as the new (Read/Write) Setting-Props:
- UserAgent, AreBrowserAcceleratorKeysEnabled, IsPasswordAutosaveEnabled,
- IsGeneralAutofillEnabled, IsPinchZoomEnabled, IsSwipeNavigationEnabled
- cArrayList.BindToArray now allows also "external Bindings" (Mappings, to predefined - normal VB-Arrays)
- cFSO.GetFileHash accepts now either: "normal FileNames" - or alternatively cStream-Objects
- the cCollection.SerializeToJson-functionality now also supports "leaf-members" of type:
- cRecordset, cArrayList, cSortedDictionary
version: 6.0.0.9
- introduced new Class: cBigInt (available via New_c.BigInt(InitValue)
- introduced new Class: cArrInfo (available via New_c.ArrInfo)
- introduced new Class: cMultiFrameImg (for decoding of *.tif, animated *.gif and *.webp + *.heic on Win10)
- BugFix in cDirList.DirWatchStart (when used with Paths to Network-Drives or -Shares)
(ReceiveBuffer-fallback to max 64kB in case of Shares was not working properly)
- cCairoPattern now contains wrapper-methods, covering the cairo-Mesh-functionality
- cWebServer (better recognized utf8-text-transport by specifying "text/html; charset=utf-8" -
instead of just: "text/html" in the default-text-response Content-Type header)
- cConnection was enhanced with two new error-related Methods (https://www.sqlite.org/c3ref/errcode.html):
LastDBErrCode(Optional ByVal GetExtendedCode As Boolean) As Long
GetSqliteErrStr(ByVal ResultCode As Long) As String
- cCrypt: got two new Methods (HexEncode, HexDecode)
- cWebView2 enhancements:
the Class-wrapper now informs the chromium-subsystem about its current TopLevel-Window-Position
new Method: NavigateWithWebResourceRequest(ByVal URI As String, Optional ByVal Method As String = "GET", _
Optional ByVal Headers_CrLfSeparated As String, Optional ContentStream As cStream, _
Optional ByVal SecondsToWaitForRequestComplete As Double = 8)
version: 6.0.0.8
- cWidgetForm: new TimerInterval-Prop + new Timer-Event (for more compatibility with VBA-UserForms)
- new cUTC-Class for TimeConversions (reachable via New_c.UTC)
- new convenience-method cCairoContext.SaveAndTransform
version: 6.0.0.7
- added a new optional Param (WithoutExtension As Boolean = False) to cFSO.GetFileNameFromFullPath
- added a new cVidCap-Class (for easy capturing of Frames from Camera-Devices)
- added 2 new Properties to cCSV (ReplaceDoubledQuotChars and ExpectedEncoding)
and fixed a small glitch (which was only happening when a quoted textcell ended with sequence: "..."" ")
- cWidgetRoot: avoid SubPixel-precise placements of moving Widgets again (for the sake of sharp Font-rendering)
(introduced this in version 6.0.0.4 as a rendering-optimization for "zoomed Widgets")
version: 6.0.0.6
- added new Optional Constructor-Params to: New_c.MemDB(...), .CSV(...) and .SVG(...)
- added .Add and .AddNL Aliases to cStringBuilder
- added cFSO.GetFileNameWithoutExtension
- fixed inconsistent NewLine-reporting-behaviour on cCSV (only happened in "FullRowScan-Mode" for vbLF and vbCr)
(FullRowScanMode can now be ensured already at construction-time via: New_c.CSV(vbNullChar, vbNullChar)
- added an IStreamUnk Getter-method to cStream (to make it usable outside, in conjunction with Win32-APIs)
- fixed an issue with adBigInt Field-Values when imported via cConnection.CreateTableFromAdoRs
version: 6.0.0.5
- fix for ZStd-compression-methods (which are now again exported as _stdcall in cairo_sqlite.dll,
instead of the prior _cdecl-exports) ... thanks to Jason, who reported this
- fix in cWebView2, now accepting userdefined FixedRuntime-Folders again - in the BindTo-method,
in case the FixedRuntime was not sitting behind \Programs x86\ ...(reason: new WebView2Loaders now expect
a prefilled 'TargetCompatibleBrowserVersion' in the config-object, which was missing in this case)
version: 6.0.0.4
- updated SQLite to SQLite-Version 3.34.1
- cConnection now supports different codecs for DB-encryption (defaulting to CODEC_TYPE_RC4 for backward-compatibility)
- cFSO.MultiFileDelete ... made the second (not really useful) Param DstPathOrArrayOrCollection an Optional one
(to not break code of earlier versions)
- cFSO ... GetPathNameFromFullPath, GetFileNameFromFullPath, GetFileExtension now return String explicitely
(and not Variant ... also ensured, that GetFileExtension now enforces a lower-case returnvalue)
- removed cRPCConnection.mCompression-Property from the Public Interface (making it a Private Var)
- cRPCConnection now has a PublicKey-Property (the workaround via Password-Prop was left in place though)
- cCairoContext... small fix for restoring the previous (color)pattern after a TextOutput in a different color
(this was introduced in 6.0.0.3 .. the behaviour should be, that TextColor and "last set color-pattern" are independent)
version: 6.0.0.3
- added a new Version-Property to New_c (cConstructor)
- added a new cEasing-Class, as well as a new Animate-Method on cWidgetBase and cWidgetForm
- performance-optimization in Method: cCairoContext.RenderSurfaceContent (thanks to Colin, for pointing that out)
- changed Type of the cConnection.Synchronous-Property from Boolean to an Enum
(taking care of backward-compatibility internally, in case someone passes a True=-1)
- added cConnection.GetRs and .ExecCmd for Parameter-Supporting Query and Command-OneLiners
- added new cChart and cChartAxis Classes for simple Chart-Rendering
- added a new cwCanvas-WidgetClass (including built-in ControlPoint-support for easier Demo-Scenarios)
- added a new Method cCairoPattern.CenterCoordSys
- added a new Method cCairo.CreateCheckerPattern (to make this a OneLiner for creating BackGrounds in Alpha-Demos)
- added a new cWidgetForm-Event: ResizeWithDimensionsDIP ... (incorporating the current ZoomFactor of the Form)
(also added were new ScaleWidthDIP and ScaleHeightDIP properties)
- cDisplay now has additional DPI, Zoom and TwipsPerPixelX/Y Properties
- directly included cwCanvas-Widget into RC6.dll
version: 6.0.0.2
- Implemented Touch-Event support on cWidgetBase (which has to be enabled via W-ImplementsTouchMessages = True)
- Param-enhancements on the NewWindowRequested-Event of cWebView2
(which now has also: ..., URI As String, as well as NewWindowFeatures As cCollection <- as a JSON-Object)
- new version of the main-satellite-(flat)-dll -> now named 'cairo_sqlite.dll'
(upgrading the quite old cairo-sources to the newest version, and along with it,
also its other dependencies as libPng, zlib, sqlite, etc. in their newest versions)
- new Class cWebView2 (which offers a binding to the new MS-Edge-Chromium-WebControl)...
the wrapped new (and small) "flat-dll" which is now included in the BaseDlls here, is named:
'WebView2Loader.dll'
Please note, that this loader-dll expects an "evergreen" WebView-install one has to ensure beforehand,
available at this official MS-download-link: https://go.microsoft.com/fwlink/p/?LinkId=2124703
- new Class cHashD (as a fast, hash-based Key/Value-pair container-object)
- new Dynamic Object (instantiatable via New_c.DynObj) with support for dynamic Properties and functions
------------------------------------------------------------------------------------------------------------
Below the older Progress-listing of the previous version 5 of the RichClient (which the RC6-lib is based on)
------------------------------------------------------------------------------------------------------------
Version: 5.0.79
- Fix for the (rarely used) cCollection.ItemExists-Method when comparing StringContent of added Items
Thanks to Wolfgang (and Jason Peter Brown), for pointing this out (supplying the needed fix already)
- Fix in cSelectCommand when parsing named Parameters which don't have enough whitespace around them,
and are then followed by SQLites String-Concat-Operator (||)
e.g. "SELECT @x||'/'||@y;" (which didn't work before, but now does)
instead of: "SELECT @x ||'/'||@y;" (which did work before)
Thanks to Wolfgang Enzinger for detecting this
Version: 5.0.78
- MemLeak-Fix for the cStream.GetSize-Method (now not requesting the STATSTG.pwcsName member anymore)
Thanks to Jason Peter Brown, for detecting this (it became obvious only with a high count of repeated FileStream-requests)...
Version: 5.0.77
- BugFix for the old (GDI-related) cDC-Class (in the DrawLine-Method, which did not pass a Pointer correctly)
Version: 5.0.76
- cActiveScript (in "JScript9"-mode) is now properly switched into the more advanced SCRIPTLANGUAGEVERSION_5_8
(which then supports e.g. the built-in JSON-object)
Version: 5.0.75
- IEnumerable-support (via New_c.EnumerateOn(...)) now suppresses Interface-casting-attempts from IEnumVariants-IUnknown to IDispatch
- cArrayList now comes with added For Each support
- Finally, the functionality of the vbFriendlyInterfaces-Dll is now integrated into the RC5, and available via New_c.VBI
...original code and demos at: http://www.vbforums.com/showthread.php?807263-VB6-LightWeight-COM-and-vbFriendly-BaseInterfaces
The slightly adapted Demos for the RC5.VBI-support are available here: http://vbRichClient.com/Downloads/TutorialApps_RC5.VBI.zip
Version: 5.0.74
- cWidgetForm.StartupPosition = vbStartUpOwner can now be used, to center a TopLevel-Form on the OwnerForm which started the ChildForm
- Optimizations in the Startup/Show-phase of cWidgetForms (less flickering)
- there's now also less flickering (on the OwnerForm(s) underneath) after Modal-Forms were closed
Version: 5.0.73
- cWidgetForm.StartupPosition = vbStartUpScreen can now be used, to center a TopLevel-Form on the current Monitor
- security-related: the RPCServer now raises a serverside-error, when the specified Dll-Filename does not end with '.dll'
Version: 5.0.72
- not really a fix, but instead a "behaviour change" of the recently fixed cArrayList.Queue/DeQueue
(switching back to the former behaviour of: "adding to the end, removing from the front", when it comes to queueing)
... both versions (5.0.71 and this one) are still bugfree (queueing-wise), ...
... but the behaviour-change introduced into 5.0.71 was "adding to the front, removing from the end"
... (which caused different element-sequences within the ArrayList index-wise)
Version: 5.0.71
- fixed incorrect behaviour with cArrayList.Queue/DeQueue (this worked before IIRC,
so this error was in all likelihood introduced as a side-effect with the changes on Pop/Dequeue in version 5.0.68)
Version: 5.0.70
- fixed a problem with cWidgetRoot.ActiveWidget (which only happens when cWidgetRoot.DesignMode is True)
Version: 5.0.69
- hardening with regards to "making copies of empty VariantArrays"
(affected were cConstructor.vtblCall and cRecordset.GetRows in case of "no Records")
(https://answers.microsoft.com/en-us/msoffice/forum/all/windows-update-2019-08-cumulative-update-has/baeea089-9bba-4a2a-9660-0a220f1656e9)
Version: 5.0.68
- vb_cairo_sqlite.dll now updated to recent SQLite 3.28.0 (with support for window-functions, plus the sqlar-extension)
- fix on cArrayList in vbVariant-Mode (when Objects were store in those Variants, and .Pop or .Dequeue Methods were called)
- smaller fixes/enhancements on cFormula (change of Operator-precedence of / and \ ... as well as support for e-Notation of numbers)
- added an additional Cairo-FontFallback in case an OutputString contains symbols in the "emoji-category"
Version: 5.0.67
- vb_cairo_sqlite.dll now updated to recent SQLite 3.24.0 (with support for the new ZipFile VirtualTable-extension)
- fix for Unicode-Textrendering via Cairo on Win8.1 and Win10 (adjustments to the new shipping Fonts in the UniScribe-FontFallbacks)
- better Error-Messages for wrong SQL in SQLite cCommand and cSelectCommand-Objects
Version: 5.0.66
- adjust the VB-Circle-Implementation of cVBDraw, to support negative Angle-Arguments as well (thanks to Passel for the hint)
- fix for cFSO.GetFileExtension in case the FileName doesn't contain a '.' at all (thanks to Jason for pointing that out)
Version: 5.0.65
- Performance-Optimizations in cStringBuilder
- cActiveScript now tries to suppress the popping-up of an external Debugger (by specifying the SCRIPTTEXT_HOSTMANAGESSOURCE Flag)
Version: 5.0.64
- vb_cairo_sqlite.dll now updated to recent SQLite 3.21.0 (with support for the new CSV- and DBPage- VirtualTables)
( CSV-extension usage: http://www.sqlite.org/csv.html ... DBPage-usage-Link: https://sqlite.org/src/file/src/dbpage.c )
- slight changes to the SubClassing- and Unload-Behaviour of cWidgetRoot and (Client)cWidgetForms for more IDE-stability
- enhancements on the WidgetEngine to support Overflow:Auto/Scroll-behaviour in any Widget
Version: 5.0.63
- cCSV: treat intermittent ("Inter-Column") Byte-Values in the low ASCII-range < 32 as WhiteSpace too (thanks to Bart Smissaert for detecting that)
- cFSO: the Structured-Storage-support (see version 5.0.62-comments below) now also allows the hand-out
of a StructuredStorage-"Directory" as a JSON-Byte-Array which will reflect the entire Hierarchy of the SubTree
Version: 5.0.62
- SQLite: cTable/cColumns correct the parsing/mapping of cColumn-Props to the Values in complex column-definitions
cConnection.CopyDataBase -> take over potentially pre-existing userdefined-Collations and -Functions into the new DB-Connection
(thanks again to Wolfgang Enzinger for providing all these "weird", but nevertheless correct examples... ;-))
- cCSV: in a quoted Text-Cell - another (double-quoted) Part which is followed by a comma, should not lead to a new cell-detection
(thanks to Bart Smissaert for detecting that)
- cFSO: for a bit more convenience with Structured-Storage, the cFSO.OpenFileStream-method now allows direct Stream-access
on a SSTG-file using ">" as Path-separators behind the Filename like:
FilePathToStructuredStorageFile>StreamName ... or when reaching deeper into the hierarchy is required:
FilePathToStructuredStorageFile>StorageDirectoryName>StreamName
Version: 5.0.61
- SQLite-cTable/cColumns ... again SQL-comments within Create Table statements (now working properly)
- ... at the occasion also better parsing for complex Check-Contstraints (thanks to Wolfgang Enzinger for the example)
- cCSV: cancel the CSV-Parsing immediately, when a Value <> 0 is returned from the CallBack-function
Version: 5.0.60
- SQLite-cTable/cColumns ... skip SQL-comments within Create Table statements (when building the Object-Model)
- handle '... display="none" ... attributes in SVG-Nodes properly
Version: 5.0.59
- more tolerance in parsing SVG-path-parameters (q/Q, s/S, t/T ... widening the range of properly rendered svg-images)
- more Buffer-space for RPCServer-transfers (16MB per RPC in both directions)
Version: 5.0.58
- vb_cairo_sqlite.dll now updated to recent SQLite 3.17.0
- internal cosmetic changes in cDataSource
Version: 5.0.57
- better synchronization of Recordset-Moves between a derived cRecordset.DataSource and the cRecordset itself
(e.g. for usage in a VB6-DataGrid, which doesn't hand-out a "current RowIndex")
Version: 5.0.56
- added support to cCSV for pure LineParsing-Mode (enabled by setting ColSepChar and QuoteChar to Zero before parsing)
- fixed a small Bug in cDataBase.NameInBrackets - thanks to Carlos for pointing that out
(now not returning an empty string, when in the attach-call a bracketed Name was already given)
- added support for the (much faster) Chakra-Engine (JScript9.dll) in cActiveScripting (by specifying "Chakra" or "JScript9"
as the engine-name - the RC5-COMObjects are available also from there, over New_c and Cairo as usual, especially useful in
these scripting-contexts is the direct support for COM-encapsulated (typed) SafeArrays over New_c.ArrayList)
Version: 5.0.55
- vb_cairo_sqlite.dll now updated to recent SQLite 3.16.2
- enabled the <Alt><Space> Key-combination (which shows the Forms System-Menu) for TopLevel-cWidgetForms
- fixed a bug in the Svg-Parser (sequences which incorporate e-notation, but then are immediately
followed by another neg. number without spaces like this: -1.123e-14-123.45 are now properly recognized)
Version: 5.0.54
- fix an issue with FontUnderline in "PathOnly-Mode" of the DrawText and TexOut calls
the line is now drawn as a Rectangle, to allow for the same (later happening) Fill- and Stroke-Options as the Font-Outlines
Version: 5.0.53
- change the behaviour of the cFSO-BrowseForFolder-Callback, to always support the "KeepDialogOpen"-Param (in case of a shown EditBox)
Version: 5.0.52
- fix the cWebServer.Listen Method, to allow a successful bind against the "generic IP" 0.0.0.0
(before the fix, cTCPServer.GetHostIP("0.0.0.0") was falling back to the loopback-interface "127.0.0.1")
Thanks to Pekko for pointing that out...
Version: 5.0.51
- vb_cairo_sqlite.dll now updated to recent SQLite 3.15
- more tolerance for the cCSV-Parser (when within quoted fields)
- non-critical fix in the Ratcliff-Routine (extension-function for SQLite) ...
(thanks to Eduardo for finding that - and Larry Serflaten for the suggested fix)
Version: 5.0.50
- vb_cairo_sqlite.dll now updated to recent SQLite 3.13
- download-package now contains a small vbRichClient5.manifest - for SxS based regfree creation in Scripting-environments,
the manifest only containing the ClsIID for the New_c Constructor (more is not needed) - usage would be:
Set SxS = CreateObject("Microsoft.Windows.ActCtx")
SxS.Manifest = ...\PathTo\vbRichClient5.manifest
Set New_c = SxS.CreateObject("vbRichClient5.cConstructor")
Version: 5.0.49
- implemented a New_w Method (for regfree Widget-Creation) in cLangExtension, which extends the abilities of the cActiveScript-Host
Version: 5.0.48
- New Class "cActiveScript", which allows ScriptHosting without using the MS-ScriptControl
Version: 5.0.47
- Mapping of the single SQL(ite)-Wildcard-Char '_' to the proper '?' Wildcard for the (overridden) Like-Function of the Wrapper
- cArrayList now supports also "Empty Variants" as the target-param in the cArrayList.CopyToArray method.
Version: 5.0.46
- Mapping of the (global) IAudioEndPointVolume to the cSimpleAudioVolume-Class (handed out per: cMMDevice.Activate(AudioEndpointVolume) )
Version: 5.0.45
- Allow instantiation of any RC5-Class on its own thread per retrieving a cThreadHandler-instance this way:
Set TH = New_c.RegFree.ThreadObjectCreate("ThreadKey", "New_c", "FSO") 'instantiates a cFSO (using "New_c" instead of a Dll-Name)
Version: 5.0.44
- make cCairoContext.RenderSurfaceContent aware of the current WidgetRoot-Zoom on a given Context (for better Quality)
Version: 5.0.43
- new SQLite-version in vb_cairo_sqlite.dll (now at the latest release 3.12)
- changed the built-in FastLZ-compressor to LZ4 now (for better compression, and much higher decompression-speed)
Version: 5.0.42
- synchronizing of the RC5-internal cTheme-Class with the current one of the vbWidgets-Project
(now supporting the Case: thmTypeProgressFace as well)
Version: 5.0.41
- performance-optimization for cCollection.Prop(Key) = SomeItem (no need to scan the KeySpace twice)
- new SQLite-version in vb_cairo_sqlite.dll (now at the latest release 3.11)
- added support for arbitrary precision math (BigInt-support) into vb_cairo_sqlite.dll
(from gmplib.org, using mini-gmp.c and mini-gmp.h over __stdcall exports)
Version: 5.0.40
- enabled support for SQLites "File-URIs" in the Wrappers cConnection.CreateNewDB call
(FileURIs allow to work against a single InMemory-DB across threads)
Version: 5.0.39
- new SQLite-version in vb_cairo_sqlite.dll (now at the latest release 3.10.2)
- fix, which deals with incorrectly set Transaction-Counters in case the SQLite-Wrappers cConnection-Obj
was working in "nested Named-SavePoints-Mode" - note, that this mode is not the default on a cConnection
(one has to enable this kind of transaction-support explicitely), so most Users shouldn't have been affected.
Version: 5.0.38
- enhanced cWebServer about WebSocket-support ...
At the Moment (to keep the BinComp) - this works only for ServerPush-scenarios, but this is IMO the most interesting
case anyways. For the opposite direction (Browser sends Data to the Server), there's always the normal Ajax-POST-requests...
Version: 5.0.37
- enhanced the cCSV-Class-behaviour, so that it can be used now also as a plain Line- or Word-Parser
(this Class was always - and still is "huge-file-capable")
Version: 5.0.36
- new version of vb_cairo_sqlite.dll (SQLite-version 3.9.0 -> the new JSON- and FTS5 features are contained and enabled)
- fixed inconsistencies of cWidgetForms.WindowState at the time of reporting (and reading it) in the Resize-Events
(thanks to Roberto Mior for pointing that out)
Version: 5.0.35
- new version of vb_cairo_sqlite.dll (SQLite-version 3.8.11.1 - and newest libJPGturbo)
- slightly better decoupled Request-Handling in cWebServer
Version: 5.0.34
- increased the Max-Bytes-Volume for RPC-ClientRequest-Data from 2MB to 4MB in send-direction
(in receive direction, the maximum byte-volume of the server-responses remains at 8MB)
Version: 5.0.33
- changed the cRPCConnection.Connect-Method internally back to a synchronously working HostName-to-IP-resolution
(also increased the Max-TimeOut-Interval of the still asynchronously working cTCPClient.GetIP method from its former
100msec to now 300msec for a little bit more breathing-space in case of stressed Windows-Domain- or Name-Servers).
Version: 5.0.32
- enhanced the cUniClipBoard-class about UTF8-aware CF_HTML-readout capabilities
Version: 5.0.31
- changed the ZeroChar-Termination-Detection in cFSO.ShowOpenDialog- and ShowSaveDialog from Double-ZeroChars to Single-ZeroChars -
in case OFN_ALLOWMULTISELECT was *not* set (the MSDN was a bit ambigous about that - thanks to Reexre for discovering that)
Version: 5.0.30
- make the (ADO-Connection based) SQLite-cConverter-Class aware of Column-Default-Values (used in JET-SQL) which define AutoTimeStamps as: Date() and Now()
Version: 5.0.29
- optimizations whilst Resizing takes place (reduced rectangles for Form-Background-Painting, also spared one RePaint coming from to WM_ERASEBACKGROUND)
- hardened the older ucPanel-Mode in case of Stop-Button-Presses in the VB-IDE
Version: 5.0.28
- optimizations in the Form-Rendering-Engine (+ suppressing of a flickering Form-BackColor, when GPU-Surfaces are used against a Form without WidgetRoot)
Version: 5.0.27
- cColumn (one of the SQLite-Classes)... fix for parsing Column-constraint-infos when intermixed with Foreign-Key-Definitions per "REFERENCES"-Keyword
(thanks to Wolfgang Enzinger again, who found that and provided a Demo)
Version: 5.0.26
- added four new methods to cCrypt (in addition to the MD5, SHA1 and SHA256 Methods there is now SHA384, SHA512 and their HMAC-variants as well)
- internal performance-optimization when cMemDB.ExecCmd is called (using a cached CommandObject now, as long as the SQL-CommandString is not changed).
Version: 5.0.25
- some enhancements in the Variant-serialization-code for RPC and Threading
(support for empty (0 to -1) Arrays of all types + support for Object-serialization of cArrayList)
- Thread-Events which were formerly coming in a bit "stuttering", now come in more fluently
Version: 5.0.24 (including new companion-lib with SQLite-version 3.8.9)
- cTable (one of the SQLite-Classes)... fix for parsing column-infos
(when Primary-Key-Defs are followed by a Check-Constraint, thanks to Wolfgang Enzinger who found that)
- cDirList (enhancements on the sorting-capabilities), the String-related SortOptions as:
dlSortByName, dlSortByDisplayName, dlSortByExtension will now sort "logically" (similar to the the Win-Explorer)
when passed as negative EnumValues (with a leading unary-minus, or using the appropriate new EnumValues:
dlSortByNameLogically, dlSortByDisplayNameLogically, dlSortByExtensionLogically)
- cWidgetBase... slight improvements with ToolTip-Handling, the Positioning-Event (W_ShowToolTip)
is now properly raised also in case of changing a ToolTips Caption per cWidgetBase.ToolTip-Prop.
- on Win7 and higher, the Surface-Uploads (in DXSurface-Mode, useful for fast, final stretching) are using Direct2D instead
of DirectX now (working also within the reduced DX-capabilities of VM-Guest-OSes, thanks to Colin for the Test-Projects)
- small backport-fix in the C-Sources of vb_cairo_sqlite.dll (to make cairo_in_stroke work more reliably also on
non-flattened Paths (as Beziers for example).
Version: 5.0.23
- completed the implementation of cVBDraw, which implements the VB.Printer-Interface and is useful when
somebody wants to work with VBs old Drawing-Commands against either a Cairo-Image- or -PDF-Surface
- dragging of Widgets in cWidgetRoot.DesignMode now behaving a bit more like in the VB-IDE
(there's also a new Bubbling-Event "DesignDragAdjustXY" to react oneself with other coords
than the defaults whilst a Widget is Moving)
- added a white-ish contrasting shadow to the DragCoordsCursor-TextOut at this occasion
Version: 5.0.22
- new (and much faster than e.g. the CSON-SQLite-C-Addon) JSON-serialization from SQLite-Recordsets with
the new method: cRecordset.ToJSONUTF8
- fixed a misbehaviour with cWidgetForm.SetMinMaxDimensions (where dragging from Top/Left was causing a
Form-Move too (switched from WM_WindowPosChanging to WM_GETMINMAXINFO to handle that problem)
Version: 5.0.21 (including new companion-lib with SQLite-version 3.8.8.1)
- small fix in the cConstructor.Timer construction-routine, in case one passes an Object into the Tag-Param
- *new version of vb_cairo_sqlite* (now not only including QR-Decoding/Encoding-support, but also the latest
SQLite-version 3.8.8.1)
- please read the updated Library-Licenses for details on the quirc-lib by Daniel Beer - and for libqrencode
by Kentaro Fukuchi - in short, both licenses allow commercial usage...
there's new cQRDecode- as well as cQREncode-Classes in the latest GitHub-version of the vbWidgets.dll
Version: 5.0.20
- enhanced cFSO.GetFileIconSurface about the capability to understand also Paths of the Form ::{GUID} ...
and handing out the correct IconSurface in these cases too
Version: 5.0.19
- fix in cDirList-FileWatcher-Functionality - don't throw a Dll-internal Error, when the watched directory itself gets moved
or deleted from its "WatchedPath-Position" in the Fileystem (just report this by gracefully raising the DirWatch_Stop Event)
- small fix in the cCSV-parser-class, to not hand out a leading quote-char in the first column
(encountered on files where lines were ending with a quoted field - then starting with a quoted first-field on the next line)
Version: 5.0.18
- a small fix in cCairoContext.DrawRegularPolygon (rounding-error which became apparent only with larger Step-Counts)
- the internal Cairo-Image-Loader now has fallbacks, to be able to load CMYK-JPGs - and respects embedded Color-Profiles
in *.png- and *.jpg-Files (if there are any)
Version: 5.0.17
- Fixed an issue with apparently double-freed strings (at the C++ end as well as at the VB end) on:
cWebKit.Evaluate(JScript) ... thanks to Dsalesa for discovering that
Version: 5.0.16
- Fixed an issue within cPanelLayout and cPanelDef, happening on finland-locales
(related to locale behaviour of the VBA.IsNumeric function, fixed by replacing it with a locale-invariant behaving version)
- Don't raise Form_Click when DblClicking the TitleBar to maximize the Form ... thanks to Pekko for reporting both bugs
Version: 5.0.15
- new class cCSV - for fast and generic, callback-based CSV-parsing with huge-file-support
(the callbacks are ensured over the new interface ICSVCallback)
Version: 5.0.14
- new method on cConstructor - New_c.EnumerateOn(...) returns IEnumVariant and allows in conjunction with the new Interface
IEnumerable convenient callbacks into a Parent-Class (to enumerate any Parent-internal Content, without using a cCollection
or cSortedDictionary)
Version: 5.0.13
- enhancement on cCollection - more convenient access on cCollection-instances which give True for cCollection.IsJSONarray
(zerobased access to the members now not only per .ItemByIndex, but also directly per Default-Prop (.Item).
- JSON-Parser now detects empty array-defintions reliably
Version: 5.0.12
- Bugfix for cEventCollection - adding with an already existing Key will throw an Error, though not cause a "hard-crash" afterwards anymore
Version: 5.0.11
- hardened the XML-parser in cSimpleSAX to not choke on certain types of malformed content (non-closed tags) anymore
Version 5.0.10 (also updating to the newest SQLite-Version at this time - Nov. 2013 - 3.8.1)
- On XP the cCrypt.Base64Enc-method left a trailing vbCrLf (apparently the CRYPT_STRING_NOCRLF-flag is only supported on Vista/Win7/Win8) (fixed now)
- cWidgetBase - ensure correct Positioning of ToolTips when at the bottom- or right-most ScreenBorders (thanks to Martin Cabrera for the fix)
Version 5.0.9
- Hand out the correct Unicode-Names in cFSO.GetDriveFriendlyName and cDirList.FileNames/DirNames
Version 5.0.8
- W_Paint-Event is now raised also as a bubbling-event ... for performance-reasons, this feature is only "active" currently,
when the hosting Executable of the RC5-lib is wscript.exe or cscript.exe. But with that feature, it is possible to write
cwWidget-Classes even when they are defined as a "pure VBScript-class" (existing Widgets from vbWidgets.dll and their
Events are of course also possible to use within a *.vbs... the above Feature was only needed for Script-internal cwClass-Defs.
- Enhanced the Cairo-BlendOp-Operator-Enum about the extended Enum-definitions, included since cairo 1.10
- a bit of cosmetics (not really a bug) in the way Win-Alpha-Icons are converted to Cairo-Alpha-Surfaces (with regards to pre-
multiplication-handling in conjunction with hBitmap-Masks - now antialiased borders are handled with a little bit more love).
- added a refresh-timer, which now allows, to have animations in "attached SideImages" of a Drag&Drop-Operation
Version 5.0.7
- small fix in cDataSource - now behaving correctly, when cDataSource contains a cCollection - and the DataSource is trying a
.MoveNext from out of a DataSource.BOF-position (before the BugFix, nothing happened) - now we move correctly to the first record
- a bit of cosmetics (not really a bug) in the way Win-Alpha-Icons are converted to Cairo-Alpha-Surfaces (with regards to pre-
multiplication-handling in conjunction with hBitmap-Masks - now antialiased borders are handled with a little bit more love).
Version 5.0.6
- small fix in cWebKit-cleanup-behaviour - (in case of a NewWindow-Request, which was cancelled/not-showing, there was a bit
too much of "internal cleanup" on the temporary, only "half-alive" WebKit-Instance)
- fix in the Form-Engine-Destroy-Behaviour (in the cWidgetForm.Unload-Method) - now we take special care when destroying Popups,
that the appropriate Shadow-Style is correctly in place, before calling DestroyWindow (this bug was affecting only PopupForms
with an DropShadow-ExStyle - where "the shadow" was left visible after Unload ... but this happened only on XP, not on Vista or Win7).
- fix which destroys ToolTips on MouseOver and MouseClick - and hides them as well, when their associated Widget is clicked.
Version 5.0.5
- fixed a small error in cSVG, when parsing the <path>-Tag (related to lower-case 'c' and 's' entries, which map against cairos RelCurveTo-API)
- fixed a few Key-Handling - and Tabbing/Focussing-issues, when using a normal VB-Usercontrol (ucPanel.ctl) as the Base for a cWidgetRoot
- fixed a visual glitch in the cWidgetBase-ToolTip-Handling (when the ToolTip is dynamically changed to an empty string - whilst being visible)
Version 5.0.4
- extended the Lib about "Public availability" of the two Main-Entry-Points:
'New_c' (which hands out the cConstructor) ... and
'Cairo' (which hands out a cCairo-instance)
both without declaring Extra-Variables first ... e.g. when used in Test- or Demo-Projects,
this might be helpful, to avoid Extra-Typing of the otherwise needed Declaration-Lines in a *.bas
- added two new Functions to cArrayList (AddElements and RemoveElements) ... useful, when more than a single Element needs to be added/removed
**** With Version 5.0.3 the planned Interface-Extensions are now (really) complete -> Binary-Compatibility is ON! ****
Will refrain from further additions to the Interface now, sorry for the BinComp-break in the two-weeks-interval
between Versions 5.0.2 and 5.0.3 - but a few requests came in within those 2 weeks... please excuse this last "small cleanup"
**** Next round of Interface-Extensions (breaking the BinComp) is planned for Version 6 in about 1-2 years :-) ****
Version 5.0.3
- a smaller Fix for the Handling of the new Class cVBDraw, when used as VB-compatible "Drawer" at the WidgetRoot-BaseLayer
(Widgets on top of it were destroying those "VB-Drawings at Ground-Level" in some cases before the fix)
- larger performance-optimizations for the new Class cArrayList (thanks to Bart Smissaert who wrote
some test-cases, which pointed to the right places, where such optimizations were needed most)
So, the List.Init Call is now optimized when in the first Optional Param an Array is passed.
Other optimizations were done behind the List.Sort-Method.
Also added a few important Optional Params in the Sort-Method (to be able to define the exact Sort-Scheme, when the List contains the String-Type)
New added method CopyToArray, which works basically as the BindToArray-method, but creates a real, free-standing VBArray (of the same Type) as a copy.
New Optional Params in both Methods (BindToArray and CopyToArray), to be able to specify the LBound of the Result
- some smaller "cosmetic changes" in cAudioCaptureClient with regards to the logarithmic-Scaling of the FFT-Bands
also added a new FFTInputLevelFactor-Property on this Class, and exposed the FFT- and Peak-Calculations as a
new public-method CalculateMeterInfoFromBuf(...) for usage with ones own, user-provided Wav-Buffers
- just forgot - and now added the new Classes cTDD, and cTDDResult for easier writing of Tests in Test-Driven-Development-scenarios...
this will be useful for the development of the new Compiler, which can start now, based on the "RC5 Runtime-Environment"
- added a new Optional Param to the cRPCListener.StartServer Method (..., Optional ToCallBeforeAnyRPC As String)
In this Param, one can specify "DllName.dll.ClassName.Method", which needs to be called (Error-Free), before the
"real" RPC-method is executed in *any* given RPC. If this specified "Before"-method is raising an Error internally
(due to a failed Authentication-Check for example), then this Error is backtransported to the Clientside,
and the real RPC-Method is *not* called (followed up) in this case, due to an early exit on the server-end.
This trick is helpful, to avoid a lot of special Authentication-Handling at the level of *each and every* normal
RPC-Method ... if the new Optional Param is set, this task gets moved "out of the way", into a single, dedicated Dll-location.
Thanks to Jason Peter Brown for the suggestion.
Version 5.0.2 (including the newest SQLite-Version at this time - march 2013 - 3.7.16)
- larger improvements under the hood in cairos Text-Rendering-queue (based on the UniScribe-API) ...
now about factor two faster, when working against Pixel-Surfaces - also in the Measurement-functions -
this was tuned, (or came to attention) whilst developing the new cwGrid-Widget, rendering quite a lot of (clipped) Text-Cells
- new Methods in cConstructor: GetStringFromPointerW, + a whole new set of methods, to call functions by Pointer: CreateInstanceUnk, vtblCall,
GetFuncPtr, cdeclCall, cdeclCallDirect, stdCall, stdCallDirect - especially the new __CallDirect functions work nearly
as fast as a normal VB-Declare now (factor 10-20 faster than the older cCDecl-Class from Paul Caton, which was introduced
in RC4, but is now omitted from RC5, to achieve a bit of "weight-loss" on the Binary, and not include double-functionality
new IsXPPlus, IsVistaPlus, IsWin7Plus, IsWin8Plus - those Is...Functions work independently from "Compatibility-Settings"
- new Methods in cCairo: CreateMenuItemRoot, CreateMenuItemFromJSON
- new class cMenuItem (works in conjunction with the above two constructor-functions, it's a DataSource-Class, which is more powerful than the class-name
may suggest..., it allows nested hierarchical MenuDefs and can serialize the state of a complete Menu-hierarchy at any time,
with one line of code (to JSON). Currently used together with the new cwMenu-Widget
- new class cArrayList: very memory-efficient, works "typed" (needs basically only the same memory as the native Array-Type)
methods as: Add(Optional BeforeIndex), Remove(by Index), Push, Pop, Queue, DeQueue, Sort, Clone...
Serialization-Support (Content-Property) and BindArray/ReleaseArray-Functions, to span a native Array-Type over the current content
- new class cVBDraw: This class provides the classic VB-Drawing-interface (Line, Circle, Point, Scale etc.) in exactly the same "old-fashioned param-typing"-style,
those older Drawing-Commands require - it can be retrieved over Cairo.CreateVBDrawing (to be bound to a VB-PicureBox but also to a PDF-Filename!) -
It is also directly available on a cWidgetRoot... In case of Set MyVBDrawing = cWidgetRoot.VBDrawing, the WidgetRoot binds itself internally
to the VBDraw-Instance it hands out, and then VB-Drawing-commands are possible, which are shown below the Widgets-layer
(under the hood all is working antialiased and unicode-capable with cairo of course)
- new Optional "FieldInfo"-Param in cConnection.CreateTableFromADORs
- new cFields.Exists method in the SQLite-Wrapper (to check for FieldNames in a given cRecordset)
- new Methods in cDirList -> DirWatchStart, DirWatchStop (incl. new appropriate Watch-Events for File-Add/Remove/Change-Actions, based on IOCompletionPorts)
- new Methods in cFSO -> overhauled CreateFileStream/OpenFileStream-APIs - now using more Optional Params and
the SHCreateStreamOnFileEx-API under the hood for "Huge-File-Support (>4GB)
GetFileHash-Function (also for huge files >4GB), supporting MD5/SHA1/SHA256...(SHA1 with about 300-400MB/s throughput)
SetFileAttributesEx (for Attributes, as well as optional FileDates, also working for Directories - unicode-capable)
ShowFoldersDialog (unicode-capable, free Root- and Selection-Path specifying, Change- and Edit-Events)
Unicode-FileName-capable DeleteFile, MoveFile, CopyFile, CreateDirectory, RemoveDirectory, CurrentDirectory
New, easy to use, unicode-capable MultiFileOp-Functions (based on SHFileOperation, incl. returning of a "RenameOnCollision_MapCollection")
EnsurePath (Auto-Creation of deeper nested Directories)
EnsurePathEndSep (small Helper-Function, to ensure proper Path-Separator-Trailing or -Removing)
- new Methods in cCrypt -> AESEncrypt/AESDecrypt in different depths (including optional InitVector- and PW-Hash-Params)
- new Methods in cDataSource (too many to list - it's a whole set of functions for Tree(Node)-Support on nested cCollections ...
initializable also directly from JSON-Strings - working in conjunction with the new, virtual cwTree-Widget)
- a set of new Classes for the Vista/Win7/Win8 CoreAudio-API(cMMDeviceEnumerator, cMMDeviceCollection, cMMDevice, cPropertyStore
cAudioClient, cAudioRenderClient, cAudioCaptureClient
cSimpleAudioVolume, cAudioStreamVolume, cChannelAudioVolume,
cAudioMeterInformation, cMP3Resource
cDeviceTopology, cControlInterface cConnector, cPartsList,
cPart, cAudioInputSelector
- Win7/Win8 Touch-Interfaces -> in cWidgetForm and cWidgetRoot -> RegisterTouchWindow/UnRegisterTouchWindow/IsTouchWindow
in cWidgetBase a new Event -> Touch(Infos() As cTouchInfo)
a new Class -> cTouchInfo
Version 5.0.1
- new Methods in cFSO -> Unicode-capable ShellExecute, IsFileWritable, ShowOpenDialog, ShowSaveDialog
- new Methods in cStream -> WriteFromLong, ReadToLong
- new Methods in cCollection -> Prop, ItemExists, IndexBySortKeyIndex, SortKeyIndexByIndex
- new Methods in the Archiver-Class cWebArchive -> ReadContentsFromByteArray, SaveContentsToByteArray
- new Methods in cConnection (SQLite) -> OpenDBReadOnly, CreateTable, NewFieldDefs
- new Methods in cCairoSurface -> AdjustColors/GetColorLUT(Brightness, Contrast, Gamma, Invert),
BindToArrayLong (In addition to BindArray for Long()-instead of Byte()-Arrays)
- new Methods in cWidgetBase -> InnerWidget, ToolTipDuration, MoveToBack, CalculateScreenOffsets
CalculateScreenDimensions, CalculateScreenPopupOffsets, CurrentMonitor
- new Methods in cWidgetForm -> FullScreen, SetCapture/ReleaseCapture, Locked
- new Method in cConstructor -> HPTimer (using the QuerPerformance-APIs under the hood)
And finally included:
Win7/Win8 Gesture-Interfaces -> in cWidgetForm and cWidgetRoot -> SetGestureConfig/GetGestureConfig
in cWidgetBase two new Events -> Gesture(Info As cGestureInfo) and GestureNotify()
two new Classes -> cGestureConfigList, cGestureInfo
Version 5.0.0
- cWidgetRoot.Windowless=False is now fully working (hWnd-based Widgets behave identically to the "original Windowless ones" now)
- new cPanelLayout/cPanelDef-Classes, which ensure "FrameSet-like behaviour" (with Docking- and BackGround-ImageSplit-support)
- overhauled WidgetLoading/WidgetSaving mechanism - new Interface (IXMLWidgetStore, accompanying IWidgetLoader)
- new cWidgetBase.InnerWidget-Property (to exclude "inner-controls" from the XML-serialization, as e.g.
on the cwTextBox, to exclude the serialization of its internally (dynamically) created cwScrollbars)
- new cMemDB-convenience-class (wrapping an InMemory-SQLite-Connection for easier "LINQ-Like" usage)
- new cDataSourceDisp/cDataSource-Classes which are Binding-related and can throw Events (across InProcess-Dlls)
(cDataSource can wrap two kind of Container-Types behind a commonly usable interface: cRecordset, cCollection)
- new Property 'Prop' on the cCollection, which allows for "AddOrReplace"-behaviour in write-direction on a given Key
also added to cCollection were the methods IndexBySortKeyIndex() and SortKeyIndexByIndex() for easier dynamic
switching between sort-modes (sorted and unsorted read-outs over the Index).
- new cfLayoutView-Class, which in conjunction with the cDataSource___- and cPanel___-Classes can be used
in very loosely coupled XAML/WPF-like MVC-scenarios now
- added GetCPUCoresCount-Function to cConstructor
- added MemCopy-Function to cConstructor ...internally delegating to RtlMoveMemory ... this is an offer for people
who are unnerved by AVIRAs (false-positives) warnings, which in very small Exe-Projects are triggered
already by the sheer existence of the RtlMoveMemory-API Declare-line ... on larger compiled Binaries
...as e.g. the RC5-lib here... these warnings are not thrown by AVIRAs heuristics... so this is a way out of this mess)
-------- major version-bump from 4 to 5 (DllName-Change from vbRichClient4.dll to vbRichClient5.dll ---------------
Version 4.0.6
- new cWidgetRoot.Windowless-Property
- new cWidgetBase.ToolTipDuration-Property
- new Class cWebArchive (a File- and InMemory-Archiver, which can load
its Content also from Resources)
Version 4.0.5
- fixed cWidgetForm.Load, which didn't behave exactly right in conjunction with
cWidgetForm.Show
- new Method on cFSO (cFSO.IsFileWritable)
- new Method on cThreadHandler (cThreadHandler.WaitForEmptyJobQueue)
- new Version of vb_cairo_sqlite.dll (SQLite now again at recent version 3.7.14)
Version 4.0.4
- fixed TimeOut of 1.3sec whilst opening SQLite-Files on ReadOnly-Folders
(or if the File itself got the ReadOnly-Attribute - using sqlite3_open_v2)
- changed the chinese Default-Fallback-Font to the better matching "SimSun"
in case of "mixed Unicode-TextOutput" (thanks to Boxian Zhou, for pointing that out)
Version 4.0.3
- bugfix in cTCPServer.SendData (in case the connection was reset by
the remote side) thanks to Wolfgang Wolf for catching that
- Added a new EnumValue for the first Param in cWidgetForms.Create
(Value 6 now ensures Borderless-Alpha-Windows, which behave similar
to PopUps, but do have a TaskBar-Entry and are not "TopMost"
Version 4.0.2
- companion Dll vb_cairo_sqlite now includes latest SQLite 3.7.10 -
also fixed the contained chipmunk-based static-lib, so that it
doesn't depend on SSE2 capable CPUs anymore
- fixed a Bug in cWidgetForms, when created on a separate Thread
(They need GetDeskTopWindow as a Parent then)
- Workaround for missing RealmName-Prop in cWebResponse (now it's
possible to use: cWebResponse.ServerName = "ServerName (RealmName)"
Version 4.0.1
- stabilized the cWidgetForms-engine for Debugging-Safety
- did the same enhancements also in cSubClass
- Fixes/Performance-Enhancements in the Widget-Rendering-Stack
- cFSO.ReadByteContent/ReadTextContent was fixed, to also give correct
results on existing Files with no content (an empty ByteArray or String)
- Rs.UpdateBatch Fix, when working against an "attached Table" (when said
table was similarly named to an already existing table in the main-DB)