kbmmw 5.02发布
- 5.02.00 May 27 2017
- Important notes (changes that may break existing code)
- ======================================================
- * Changed Use class in kbmMWSmartUtils.pas. Now it will use
- TkbmMWAutoValue internally
- to store data. Since data stored in TkbmMWAutoValue is reference counted
- and scoped,
- access to the data is slightly different.
- Use AsObject to return a reference to the object. Ownership of the
- object belongs to the TkbmMWAutoValue container.
- Use AsMyObject to return a reference to the object and mark it as your
- object. You will be responsible for freeing it.
- New stuff
- =========
- - Added IkbmMWAutoValue and TkbmMWAutoValue to kbmMWGlobal.pas. They
- handle scope based object life time handling.
- - Changed smart object's (TkbmMWMarshalledVariantData) to use
- TkbmMWAutoValue.
- - Updated DumpVariant in kbmMWGlobal.pas to dump smart object's too.
- - Added support for TkbmMWTiming on IOS.
- - Added support for REST tags anonymousRoot=true/false and
- pretty=true/false which
- can be used to control if resulting objects should be anonymous or
- contained in a
- parent object, and if the result should be prettyformatted or not (default).
- Prettyformatting is not implemented on JSON at the time.
- - Updated AMQP protocol to default not write shortstrings, unsigned
- 8bit, unsigned16 bit
- unsigned32 bit and unsigned 64 bit. Reason is that although AMQP v. 0.9.1
- should support them, industry dont, why most AMQP implementations will
- not understand those types.
- It is possible to uncommnet a number of defines in top of kbmMWAMQP.pas
- to selectively
- enable these types. If they are commented, kbmMW auto propogates the
- value to the next
- sensible type.
- - Updated kbmMWAMQP.pas to support copying field tables instead of
- assigning them.
- - Added Safe property to TkbmMWMixerPasswordGen. If set to true, it will
- not use
- digits and characters that can be visually misread (0 vs O etc).
- - Added OnMessageProcessingFailed event to
- TkbmMWCustomSAFClientTransport and
- TkbmMWCUstomSAFServerTransport and published in descending classes.
- It will be called when message processing failed, for example if kbmMW is
- unable to decrypt a message.
- - Added support for dynamic arrays in object marshalling.
- - Added support for Notify in TkbmMWDateTime and kbmMWNullable. If set
- (in an ORM scenario)
- the client will be notified about the value in that particular field.
- - Modified and fixed timezone initialization in kbmMWDateTime.pas.
- - Added OutputToDefaultAndFile and OutputToDefaultAndStringsAndFile to
- TkbmMWLog for
- easy setup of outputs.
- - Enhanced TkbmMWCustomCrypt to support PassPhraseBytes (which if set,
- takes precedence over
- PassPhrase (string).
- - Added OnEncryptKeys, OnDecryptKeys, OnDecryptStatus events to
- TkbmMWCustomCrypt to allow for
- attempting various keys before finally either succeeding or giving up.
- This can be valuable in supporting client unique encryption/decryption.
- - Added a number of GetDefAs.... methods to TkbmMWONArray and
- TkbmMWONObject which
- returns a default value if the property/index is missing instead of
- raising an exception.
- - Added GlobalIndexNames property to TkbmMWCustomSQLMetaData. If set
- kbmMW's SQL rewriter
- knows that index names must be database scope unique, instead of only
- table scope unique.
- - Added Init function that accepts a string as salt to TkbmMWCustomHash.
- - Added GetDigest to TkbmMWCustomHash, which returns a byte array with
- the digested hash.
- Its an alternative to using Final.
- - Added OnDisconnected and OnException events to TkbmMWAMQPClientConnection.
- - Added OnConnect, OnDisconnect, OnDisconnected and OnException events
- to TkbmMWAMQPClient.
- - Added mwsloDateTimeIsUTC to TkbmMWSQLiteOption. Determines how to
- interpret date time values, as local time or as UTC time.
- - Added support for boolean parameter values in TkbmMWSQLite.
- - Improved marshalling of kbmMWNullable types.
- - Added kbmMWSubjectGetType, kbmMWSubjectExtractNodeID and
- kbmMWGenerateMessageSubscriptionSubject to kbmMWSubjectUtils.pas
- - Added mwrieNotify to TkbmMWRecordInfoEvent in kbmMWCustomDataset.pas
- - Added support for TIMESTAMP datatype in SQL datatype deduction.
- - Added support for returning an interfaced object from smart services.
- - Added field change detection to TkbmMWFieldDefs.
- - Improved TkbmMWRTTI.InstantiateValue in kbmMWRTTI.pas.
- - Improved kbmMWNullable.
- - Changed Use class in kbmMWSmartUtils.pas. Now it will use
- TkbmMWAutoValue internally
- to store data. Since data stored in TkbmMWAutoValue is reference counted
- and scoped,
- access to the data is slightly different.
- Use AsObject to return a reference to the object. Ownership of the
- object belongs to the TkbmMWAutoValue container.
- Use AsMyObject to return a reference to the object and mark it as your
- object. You will be responsible for freeing it.
- - Added methods ToDataset, FromDataset, ListFromDataset to
- TkbmMWSmartClientORM.
- Provides an easy way to convert arguments and results to and from datasets.
- - Added Cron fluent method to IkbmMWScheduledEvent. It accepts a 5 or 6
- part Unix cron value
- which defines the interval.
- - Added AtYears, AtMonths, AtDays, AtHours, AtMinutes, AtSeconds methods
- to IkbmMWScheduledEvent
- to give an alternative way to provide cron like schedules.
- - Added SynchronizedAfterRun and AfterRun methods to IkbmMWScheduledEvent to
- provide an anonymous function to be called after the schedule has run.
- It is particular valuable on scheduling asynchronous operations via RunNow,
- followed up with updating something with the result of the function.
- - Added TkbmMWONSchedulerStorage for storing/retrieving schedules in any
- object notation format.
- - Added support for subscribing for raw messages using anonymous
- function in WIB.
- - Added Delete to TkbmMWORM taking primary key values alternative
- specific field values.
- - Added support for many more date formats for ORM data generators.
- In addition to LOCAL, UTC and ISO8601, also RFC1123, NCSA,
- LOCALSINCEEPOCHMS,
- UTCSINCEEPOCHMS, LOCALSINCEEPOCH and UTCSINCEEPOCH is supported.
- - Generally many additional improvements on ORM.
- Fixes
- =====
- - Fixed default true/false values for TkbmMWSQLiteMetaData.
- - Fixed HTTP/REST/AJAX additional incorrect CRLF in output.
- - Fixed serious bug in 32 bit random generators (kbmMWRandom.pas).
- - Fixed NextGen issues in some parsing routines in kbmMWDateTime.pas.
- - Fixed bugs in Query service wizard.
- - Fixed some SQL rewriting bugs including adding support for DESCENDING
- order by.
kbmmw 5.02发布的更多相关文章
- kbmmw 5.04 发布
增加了一大波功能,消灭了一大堆问题,也肯定引进了一大票BUG.We are happy to announce the release of our latest version of kbmMW. ...
- kbmmw 5.01 发布
Important notes (changes that may break existing code) ============================================= ...
- KbmMW 4.5 发布
We are happy to announce the release of kbmMW v. 4.50.00 Professional, Enterprise and CodeGear Editi ...
- kbmmw 5.09 发布
New stuff ========= - Added kbmMWSmartBind.pas unit with optional kbmMWSmartBindVCL.pa ...
- kbmMW授权管理解析(The kbmMW Authorization manager explained)
从kbmMW v.4.40开始,引入了一个新的非常灵活的授权管理器. 它的目的是为开发人员提供为用户定义资源权限的功能,这是一个可选功能,将现有的授权事件驱动方案内置到kbmMW中,使授权开发任务更容 ...
- 初识kbmmw 中的ORM
在kbmmw 5.02.1 中,加入了ORM 的功能(这里可能和其他语言的定义不完全一样),我们就简单的认为 它就是一个类与数据库的转换吧.今天就先介绍一下如何通过kbmmw 的ORM 功能,实现类与 ...
- 使用Spark分析拉勾网招聘信息(二): 获取数据
要获取什么样的数据? 我们要获取的数据,是指那些公开的,可以轻易地获取地数据.如果你有完整的数据集,肯定是极好的,但一般都很难通过还算正当的方式轻易获取.单就本系列文章要研究的实时招聘信息来讲,能获取 ...
- SQL SERVER: 合并相关操作(Union,Except,Intersect) - 转载
SQL Server 中对于结果集有几个处理,值得讲解一下 1. 并集(union,Union all) 这个很简单,是把两个结果集水平合并起来.例如 SELECT * FROM A UNION SE ...
- jquery ajax jsonp跨域调用实例代码
今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...
随机推荐
- 合并两个排序的链表(python)
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. # -*- coding:utf-8 -*- # class ListNode: # def _ ...
- pta l2-20(功夫传人)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805059118809088 题意:给定n个人,编号0-n-1, ...
- H3C S5800 MPLS----VPLS 三层路由透传二层网络
一.MPLS 介绍 多协议标签交换(Multi-Protocol Label Switching,MPLS)是新一代的IP高速骨干网络交换标准,由因特网工程任务组(Internet Engineeri ...
- Gym - 100989G 二分
链接:ECJTU 2018 Summer Training 1 - Virtual Judge https://vjudge.net/contest/236677#problem/G 谷歌翻译: 距 ...
- unity3d英语单词拼写小游戏Pics Quiz Maker With Categories 3.0
下载地址: https://item.taobao.com/item.htm?spm=0.7095261.0.0.19f71debcef4hT&id=575991216080
- Alley Bird 跳跳鸟源码
<跳跳鸟Alley Bird>是一款敏捷小游戏.<跳跳鸟Alley Bird>采用了点击屏幕操作玩法,非常简单易上手,同时游戏内容也趣味性十足.<跳跳鸟Alley Bir ...
- c++实现中的一些注意 事项
1,尽可能延后对象中的变量定义式的出现,这样可以增加程序的清晰度,尽量少的调用构造,如果有定义变量最好在末尾定义并给予初值,这样就避免了默认构造函数的调用. 2 尽量少做转型操作. const_cas ...
- RSA加密原理使用方式签名验证
RSA加密原理使用方式签名验证 加密是网络传输中非常重要的一环,它保证了信息的安全性,让他人无法通过抓包来获取通讯的信息也无法通过伪造信息而实现对系统的入侵.其中最为常用的信息传递加密方式就是RS ...
- swift - 听云监测(Testin - Bugout) - 集成
听云的SDK集成放的太难找了,官方demo到现在也没找到.. 我找了半天没找到在哪,看下面俩链接吧, 切记:添加的三方库 以文档为主,视频里的三方库 不一定正确 iOS SDK 集成:https:// ...
- ios 获取当前时间
1.第一种返回的时间是一个整个的字符串. NSDate *timeDate = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateForm ...