We are happy to announce v5.10.00 of the most complete development add on for Delphi and C++Builder for building native modular and fast multi-tier solutions.
The release includes:
- NEW! SmartBind now fully supports VCL, FMX, including image/graphics and TListView
- NEW! SmartBind data generators and data proxies for easy separation of data sharing concerns in modular applications
- NEW! SmartEvent for easy separation of event and execution workflow based concerns for the ultimate in modular application design
- NEW! Native highly scalable TCP server transport now also supports REST
- Significant improvements and fixes in many areas including
- Object Notation
- Huge amount of improvements to kbmMW SmartBind including
See features explained in blog posts at components4developers.blog
Listview VCL and FMX support
Binding used string based settings.
AutoBind which locates properties or methods which has the attribute kbmMW_AutoBind. The attribute can be either a string based binding or
refer to a method which will be called during autobinding to setup all the required bindings for that particular instance.
Binding to data proxies for clear model/view separation.
Break values (grouping header) support (currently ListView)
Binding kbmMWDateTime and kbmMWNullable
Saving and loading binding definitions to/from object notation formats like XML, YAML, JSON etc.
Horizontalscroll, verticalscroll and cell based grid binding.
- Added kbmMWSmartEvent.pas. kbmMW SmartEvent is an advanced pub/sub based event mechanism to replace regular Onxxxx event handlers,
making it much easier to separate concerns in an application. See videos and blogposts.
- Added new TkbmMWConcatStream in kbmMWGlobal.pas. It allows multiple streams to seem as one when reading,
without reallocating memory.
- Added TkbmMWBoyerMoore class, containing multiple ways to search for sub data in data very quickly to kbmMWGlobal.
- Added kbmMWSockClient.pas for a skeleton for an easy to use async client request/response setup. Currently in experimental phase.
- Added support for REST to native TCP Transport.
- Updated look of wizards.
- Added support in kbmMWScheduler for scheduled events indicating ownership to other scheduled events.
Purpose is establishing termination ownership and more in nested scheduled events.
- Improved TkbmMWScheduledEvent.WaitRuns to allow for external anonymous function to determine is wait is to be extended.
- Updated kbmMW LINQ to support using TStrings instances for input and output with optional autoconversion of numeric data.
- Updated streamformat controllers with new GetTotalSize class function.
- Updated TkbmMWSortedList to support Unique constraint.
- Updated TkbmMWThreadList, TkbmMWThreadDictionary<TKey,TValue> and TkbmMWThreadObjectDictionary<TKey,TValue> to support providing a comparer.
- Added IkbmMWThreadAutoValue and TkbmMWThreadAutoValue for scope based reference oounted thread safe value variables.
- Added CardinalToText, CardinalToHexText, HexTextToCardinal, AddChars to TkbmMWTextPChar.
- Added CardinalToText, CardinalToHexText, HexTextToCardinal, AddBytes, ExpectOneOfBytes to TkbmMWTextPByte.
- Improved TkbmMWPrettyBinary to include pretty versions of relevant 8 bit characters.
- Moved TkbmMWSubscriptionHash to kbmMWGlobal.pas
- Added global functions kbmMWVariantToByteArray and kbmMWByteArrayToVariant to kbmMWGlobal.pas.
- Added PrettyOptions:TkbmMWPrettyHexOptions and UseStackMap:boolean to IkbmMWLogFormatter in kbmMWLog.pas.
Controls how pretty data and stackdumps are produced when logging.
- Made minor improvements to kbmMWNullable
- Updated kbmMWWinsock.pas
- Added ASkipCache:boolean option to TkbmMWCustomPooledDataSet.PopulateData
- Added InheritsFromTControl, InheritsFromTComponent, GetInstanceUnit, GetMethods to TkbmMWRTTI
- Added String2DateTimeStyle and DateTimeStyle2String to TkbmMWDateTime.
- Updated kbmMWObjectNotation with various minor features.
- Fixes and minor improvements to kbmMW ORM
- Fixed minor issues in kbmMWDebugStackTrace
- Fixed format issues with TkbmMWScheduledEvent.Cron
- Fixed bugs in TkbmMWSceduler
- Fixed various bugs in kbmMWGlobal.pas
- Fixed kbmMWFindReplace in kbmMWHTTLUtils.pas
- Fixed bugs in TkbmMWPooledDatasetRefreshSchedulerThread.RefreshDataset
- Fixed TkbmMWCustomPooledDataSet.MasterChanged issues.
- Fixed TkbmMWRTTI.CompareValue
- Minor fixes and improvements in kbmMWYAML, kbmMWSQLite, kbmMWBinaryParser, kbmMWSecurity
- Fixed timezone parsing in TkbmMWDateTime.ParseRFC1123DateTime
- Fixed bug in TkbmMWInterbaseSQLRewriter.RewriteDescribeTable
- Fixed procedure TkbmMWLockFreeHashArray.GC