zoukankan      html  css  js  c++  java
  • kbmmw 5.18.0 发布

    5.18.00 Sep 12 2021

    Important notes (changes that may break existing code)
    ======================================================
    * Officially dropped support for pre XE7. XE8 and up is recommended.

    New stuff
    =========
    - Added support for Delphi 11
    - Added new SQL user functions to kbmMWMemSQL:
    CREATEGUID() - Returns a full size unique GUID including braces.
    CREATESHORTGUID() - Returns a compact unique GUID (no braces or dashes).
    GETUSERNAME() - Returns username of currently logged in user.
    GETCOMPUTERNAME() - Returns name of computer.
    QUOTE(string[,quotechar[,endquotechar]]) - Quote a string. Default quotechar/endquotechar is "
    UNQUOTE(string[,quotechar[,endquotechar]]) - Unquote a string. Default quotechar/endquotechar is "
    - Added NAV(property/fieldname) function to SmartBind expressions. Provides access to
    other values of the current position of a navigable bound object.
    - Added HasPassedTimeMS, PassedTimeMS, PassedTimeDiffMS and DiffMS (millisec) functions
    to TkbmMWTiming (kbmMWGlobal.pas) in addition to the US (microsec) variants.
    - Added overridable AllocElements, FreeElements, ZeroElements, ClearElements methods to
    TkbmMWLockFreeHashArray<T> and TkbmMWLockFreeHashArray2<T>, to allow for alternative storage,
    like storing the array in a memory mapped file.

    Changes/minor additions
    =======================
    - Officially dropped support for pre XE7. XE8 and up is recommended.
    - Added logging of exceptions as error, if SmartBind expression excepts.
    - Improved kbmMWYAML to allow for cardinal hex or octal values.

    Fixes
    =====
    - Fixed potential null A/V when rebinding datasources/dataset in SmartBind.
    - Fixed TkbmMWONFormat.DateTimeAsString in kbmMWObjectNotation to fall back to
    detecting a date/time format index if no specific date nor time format is found.


    5.17.00 Aug 28 2021

    Important notes (changes that may break existing code)
    ======================================================
    * Require kbmMemTable v. 7.94 or newer!
    * Changed SmartBind to only set destination if the new value is different from what
    is already in the destination. Old behaviour can be forced by setting property
    yourbinding.AlwaysSet:=true or via 'alwaysSet:true' in expression based binding.
    * Changed SpokeID from integer to Cardinal in kbmMWServerMessagingTransport.pas

    New stuff
    =========
    - Added field mapping support in LINQ via new AsMyDataset which
    returns a new developer owned instance of a dataset.
    - Added new date/time format specifiers to TkbmMWDateTimeCompiledFormat:
    %M3 = 2 digit month
    %D2 = 2 digit day
    %H2 = 2 digit hour
    - Added kbmMWTXT.pas containing TkbmMWTXTStreamer. It will parse and generate
    fixed format record/field based text files accoding to a specific
    JSON or YAML described format.
    Example:
    [
    { "name": "name", "ofs": 15, "len": 80 },
    { "name": "address", "ofs": 95, "len": 40 },
    { "name": "zipcode", "ofs": 135, "len": 8 },
    { "name": "city", "ofs": 143, "len": 32 },
    { "name": "active", "ofs": 194, "type": "boolean", "len": 1, "true":" ", "false":["S","I"], "trim":"false" },
    { "name": "phone", "ofs": 195, "len": 15 },
    { "name": "fax", "ofs": 210, "len": 15 },
    { "name": "value", "ofs": 522, "type": "integer", "len": 4 },
    { "name": "date", "ofs": 538, "type": "date", "dateTimeFormat": "%Y2%M3%D2", "len": 6 },
    { "name": "number", "ofs": 564, "type": "float", "decimalCount": 2, "padChar": "0", "len": 7 },
    { "name": "email", "ofs": 600, "len": 0 }
    ]
    Check ObjectNotation demo and LINQ demo for sample data.
    - Added many new methods to kbmMWLINQ:
    AsMyDataset which will return a developer owned dataset.
    AsMyDataset with various mapping arguments, which will allow
    for returning only specified fields under specified names.
    Syntax: OldFieldName=NewFieldName;....
    AsOn with various mapping arguments for field names. See above.
    UsingTXT which will take a TXT JSON definition in the AFields argument.
    It will parse fixed format text fields using some default settings.
    If more detailed settings are needed, use UsingON and provide
    the result from a TkbmMWTXTStreamer.
    - Updated TkbmMWONFormat in kbmMWObjectNotation.pas to support multiple (max 10) variations
    of text representing boolean false/true, Null, INF+ and INF-
    - Improved TkbmMWStringBuilder with many variations of two new functions:
    Overwrite, Insert, which allows updating existing content, and auto
    size the buffer if the overwrite or insert is outside existing buffer size.

    Changes/minor additions
    =======================
    - Improved datasource binding to fall back to binding to the datasource instance itself
    rather than its records, when the binding member is not a field name.
    - Added OnAttemptAutoBind event to TkbmMWBindings instance. Can be used for
    ignoring specific properties or instances while attempting to autobind.
    - Added anonymous function argument to AutoBind which will allow
    filtering which instances and properties should be autobound.
    - Added overloaded PeerSubscribingFor method to be used instead of providing
    -1 as SpokeID in original PeerSubscribingFor, which now only takes a cardinal.
    - Added overloaded AllSubscriptionsFor method to be used instead of providing
    -1 as SpokeID in original AllSubscriptionsFor, which now only takes a cardinal.
    - Added Trunc to TkbmMWDateTime which returns an integer Delphi style datetime value.
    - Added mwsloExceptOnValueError option to kbmMWSQLite connection pool. If specified, value
    conversion errors will not be silently ignored.
    - Improved Use.AsType<T> to support T being an interface as well as an object/class.

    Fixes
    =====
    - Changed SpokeID from integer to Cardinal in kbmMWServerMessagingTransport.pas
    - Introduced some FPC compiler support changes. It still do not support FPC.
    - Fixed bug premature freeing data in a LinqStage which was marked as shared or not owned.

  • 相关阅读:
    HTTP Digest authentication
    HDU 1520 Anniversary party 树形DP
    Servlet过滤器
    Js apply 方法 具体解释
    java 读取固定目录下的文件(和上篇差点儿相同)
    使用nodeitk进行角点检測
    ~/.local/share/Trash/files
    mv,Directory not empty不能目录覆盖
    cp 提示 overwrite 问题
    cv:显示Linux命令运行进度
  • 原文地址:https://www.cnblogs.com/xalion/p/15268267.html
Copyright © 2011-2022 走看看