KBMMW 4.81.00 发布

这次更新的速度非常快。

4.81.00 May 9 2015

 Important notes (changes that may break existing code)
 ======================================================
 * Changed TkbmMWOnFileAccess event to allow rewriting Path.
   TkbmMWOnFileAccess = procedure (Sender:TObject; var Path:string;
       var AccessPermissions:TkbmMWFileAccessPermissions) of object;
 * Made many more things case sensitive in the XML parser and handlers
   to adhere correctly to XML standards.
   Thus the attribute ID is different from the attribute id now!

 New stuff
 =========
 - Added JQueryEscaping:boolean property (default false) to
   TkbmMWJSONStreamer. It will double escape all backslashes () to
   adhere to jQuery non standards. Notice that double escaping is NOT
   JSON standards, but a defacto requirement when using jQuery as the
   recieving end.
 - Added optional AJQueryEscaping:boolean argument to
   kbmMWJSONQuoteString global function.
 - Added support for NaN and INF in kbmMWFloatToString,
   kbmMWStringToFloat and kbmMWTryStringToFloat.
 - Added new optional additional kbmMW_Element_Flags argument to
   kbmMW_Element attribute. Eg.
   TMyObject = class...
     [kbmMW_Element('somename',[mwefData])]
     MyField:integer;

     {kbmMW_Element('someothername')]
     MyOtherField:integer;
   end;
   This will marshal/unmarshal MyField as data of the TMyObject instead
   of a sub element called somename.
   Eg. <TMyObject>20
         <someothername>30</someothername>
       </TMyObject>
   See the new sample: DynamicXMLMarshalling.
 - Added new optional additional TypeStoreName and TypeValue arguments
   to kbmMW_Root attribute which are to be used in combination with the
   new kbmMW_ConditionalType attribute.
   TypeStoreName refers to a local string field in the object which
   will hold/be set to the type of the object while
   marshalling/unmarshalling.
   TypeValue is the value that will be set in that field.
   The new kbmMW_ConditionalType attribute takes a condition and a
   string value indicating the name of the type of the object if the
   condition is evaluated to true. A condition can be a simple equal
   statement or be a complex condition with AND and OR and multiple
   statements.
   See the new sample: DynamicXMLMarshalling.

 Changes/minor additions
 =======================
 - Changed TkbmMWOnFileAccess event to allow rewriting Path.
   TkbmMWOnFileAccess = procedure (Sender:TObject; var Path:string;
         var AccessPermissions:TkbmMWFileAccessPermissions) of object;
   Notice that if you do have code using this event, you should cut out
   the event code, save, then doubleclick the event handler again and
   paste in your old code.
   Also notice that the path is always relative to the defined RootPath
   of the service.
   The RootPath is defined in the TkbmMWFileServiceDefinition returned
   when registering the file service.
 - Changed TkbmMWCustomSAXXMLParser to inherit from TInterfacedObject
   and removed custom referencecounting.
   This also affects TkbmMWDOMXML which descends from
   TkbmMWCustomSAXXMLParser.
 - Made a number of properties available via the IkbmMWDOMXMLParser
   interface:
   Root, Top,,IgnoreDuplicateIDs, AutoIndent, PreserveWhiteSpace,
   AutoLineFeed, StreamBOM, AutoDetectEncoding.
 - Changed TkbmMWDOMXMLNode to allow access to ID and Ref properties as
   attributes (id, ref).
   Changing the attribute id or ref will thus also affect the
   properties id and ref.
 - Removed handling href attributes as ref attribute in
   TkbmMWDOMXMLNode. href is now an ordinary attribute, without special
   handling.
 - Made many more things case sensitive in the XML parser and handlers
   to adhere correctly to XML standards.
   Thus the attribute ID is different from the attribute id now!
 - Changed so XML GetAsInt, GetAsInt64, GetAsFloat, GetAsDuration,
   GetAsBoolean and GetAsDataTime automatically filter out all
   whitespace characters (including cr/lf) before attempting to
   interpret value.
 - Changed XML parsing so if PreserveWhiteSpace property is false, then
   only leading and trailing whitespace is filtered.

 Fixes
 =====
 - Fixed leak of TkbmMWHTTPURLRewrites object instance in
   TkbmMWHTTPServiceDefinition.
 - Fixed JSON marshalling of collection objects.
 - Fixed IOS Macapi.Foundation compilation issue in kbmMWGlobal.pas.
 - Fixed bug in AttribByNameIsNil property in kbmMWXML.pas.
原文地址:https://www.cnblogs.com/xalion/p/4493297.html