kbmmw 5.10.00 发布
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
- RTTI
- Scheduler
- LINQ
- Object Notation
- ORM
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
kbmmw 5.10.00 发布的更多相关文章
- KBMMW 4.92.00 发布
We are happy to announce the release of kbmMW Professional and Enterprise Edition. Yet again kbmMW c ...
- KBMMW 4.90.00 发布
kbmMW is a portable, highly scalable, high end application server andenterprise architecture integra ...
- kbmmw 5.05.00 发布
新年前最后几天,kbmmw 发布了新版本,增加一大波功能.we are happy to announce v5.05.50 of our popular middleware for Delphi ...
- KBMMW 4.84.00 发布
kbmMW is a portable, highly scalable, high end application server and enterprise architecture integr ...
- KBMMW 4.82.00 发布
作者最近加紧了更新进度,赞一个. 时间都去哪儿了? 还没好好看4.81, 新版就来了. 这个版本主要是增强日志管理,已经强大到替换delphi 本身的异常处理了. We are happy to an ...
- KbmMW 4.30.00 发布
今天早上,KbmMW发布了4.30.00 版,这个版本开始支持XE4 的WIN/WIN64/OSX. 暂时不支持ios开发,同时加强了通过JSON 的对象序列化.还有就是解决了我提交的几个有关 汉字处 ...
- KBMMW 4.93.00 发布
可喜可敬,作者非常勤奋,跟上了delphi 10.1 的步伐. 4.93.00 April 26 2016 Important notes (changes that may break existi ...
- KBMMW 4.83.00 发布
新版本又来了,端午节都不让大家过好:) 这次终于支持ios 64了,不用我再手工改了. Components4Developers is a company established in 1999 w ...
- KBMMW 4.80.00 发布
一大波更新来了. 4.80.00 March 30 2015 Important notes (changes that may break existing code) ======= ...
随机推荐
- Rotor里的异常处理
我看到了一些关于Rotor(和CLR)中使用的异常处理机制的问题.下面是关于Rotor异常处理的另一个注意事项列表.目的是帮助Rotor开发人员调试和理解CLR中的异常. 异常生成和抛出 此步骤在很大 ...
- A Deep Dive into PL/v8
Back in August, Compose.io announced the addition of JavaScript as an internal language for all new ...
- JS的ES7支持
1.指数运算符(幂): ** 2.Array.prototype.includes(value) : 判断数组中是否包含指定value console.log(2**4); let arr = [2, ...
- 团体项目(饱了嘛)_第一组_UML图
UML图 需求分析报告 https://www.cnblogs.com/Clover-yee/p/11771395.html 类图 user(用户类):主要保存用户的基本信息 shop(商铺类):主要 ...
- node.js HTTP模块、URL 模块
在浏览器输入存在的网址的一个交互过程 1.用户通过浏览器发送一个http的请求到指定的主机 2.服务器接收到该请求,对该请求进行分析和处理 3.服务器处理完成以后,返回对应的数据到用户机器 4.浏览器 ...
- linux 手动源码安装lnmp(亲测)
linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre><pre>先在linux ...
- 命令(Command)模式
命令模式又称为行动(Action)模式或者交易(Transaction)模式. 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可 ...
- Scala 函数式编程
将函数赋值给变量 // Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 // Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线 def ...
- JS异步操作概述(转)
add by zhj: 只转载了一部分.异步操作的三种模式未转载,因为里面代码比较多,复制过来麻烦 原文:https://wangdoc.com/javascript/async/general.ht ...
- 【题解】与查询 [51nod1406]
[题解]与查询 [51nod1406] 传送门:与查询 \([51nod1406]\) [题目描述] 给出 \(n\) 个整数,对于 \(x \in [0,1000000]\),分别求出在这 \(n\ ...