zoukankan      html  css  js  c++  java
  • 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.
  • 相关阅读:
    C#-WebForm-★★★JQuery-动画★★★
    C#-WebForm-★★★JQuery知识——DOM操作★★★
    C#-WebForm-★★★JQuery知识——基础知识、选择器、事件★★★
    C#-WebForm-组合查询(Queryable延迟查询、Intersect交集)、分页展示基础
    C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★
    C#-WebForm-光棒效果
    C#-WebForm-LinQ-条件精确查询、高级查询
    C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展
    C#-WebForm JS定时器
    ★★★正则表达式★★★
  • 原文地址:https://www.cnblogs.com/xalion/p/6915911.html
Copyright © 2011-2022 走看看