We are happy to announce v5.10.01 of the most complete development add on for Delphi and C++Builder for building native modular and fast multi-tier solutions.
If you like kbmMW, please let others know! Share the word!
We strive hard to ensure kbmMW continues to set the bar for what an n-tier product must be capable of in the real world!
Notice that kbmMemTable v. 7.83.00 or newer is a prerequisite to this update.
This is a major release containing major new features, updates to existing features and bugfixes.
The release includes:
- Fixed installer and NextGen compilation bug present in 5.10.00!
- 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
Please check the end of this post for a detailed change list.
Professional and Enterprise Edition is available for all with a current active SAU. If your SAU has run out, please visit our shop to extend it with another 12 months.
CodeGear Edition may be available for free, but only supports a specific Delphi/Win32 SKU, contains a limited feature set and do not include source.
Please visit https://portal.components4developers.com to download.
kbmMW is the premiere n-tier product for Delphi, C++Builder and FPC on Win32, Win64, Linux, Java, PHP, Android, IOS, .Net, embedded devices, websites, mainframes and more.
Please visit http://www.components4developers.com for more information about kbmMW.
Components4Developers is a company established in 1999 with the purpose of providing high quality development tools for developers and enterprises. The primary focus is on SOA, EAI and systems integration via our flagship product kbmMW.
kbmMW is currently used as the backbone in hundreds of central systems, in hospitals, courts, private, industries, offshore industry, finance, telecom, governments, schools, laboratories, rentals, culture institutions, FDA approved medical devices, military and more.
5.10.00 Nov 10 2019
New stuff ========= - Huge amount of improvements to kbmMW SmartBind including See features explained in blog posts at components4developers.blog Data generators 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. Binding images/graphics 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. Changes/minor additions ======================= - 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 ===== - 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