KbmMW 4.50.00 测试版发布

We are happy to announce the release of kbmMW v. 4.50.00 Beta

Professional and Enterprise Edition with XE6 support.

 4.50.00
Beta 1 May 12 2014

        New stuff

        =========

        - Added XSD parser support and
code generator. A demo is

          included, showing how
the XSD parser is used
         
in combination with the code generator, to generate Pascal

          objects that kbmMW
can use for marshalling

          to and from objects.

        - Added CaptureMode to kbmMW
RemoteDesktop client/server

          classes to allow for
selecting between GDI and DirectX.

          Default is GDI.

        - Added new ViewMode types
including mwrdvm_Device to kbmMW

          RemoteDesktop
client/server classes to allow for using

          the best fitting view
mode, compared to the current screen

          bitdepth on the
server end.
          By using
the best fitting view mode, the RemoteDesktop server

          part use less CPU.

        - Added support in kbmMW
RemoteDesktop to detect if screen

          capture is to slow to
be useful (typically
         
on old graphic cards like Matrox G400 with Hardware

          accelleration
enabled).
        - Added new
kbmMWNullable generic. If you need to define a

          simple datatype that
should be nullable, you can

          define it as var
myInt:kbmMWNullable<integer>; for example.

          It can be used as any
regular variable.
          Use
myInt.IsNull to check if its null. If you have compile

          error due to
conversion problems you can

          use myInt.Value to
access the value directly.
        - Added
new TkbmMWDateTime type to replace TDateTime. It works

          similar to TDateTime
except it is timezone and null aware,

          and knows if its
being used to store a time, a date or a date

          time value, and thus
can
          provide correct
matching string conversion automatically.

          It supports more than
760 different timezone abbrevations,

          and has full support
for ISO8601 formats.
         
Internally it always store time as UTC with a timezone

          difference, depending
on the chosen timezone.

          On assigning a
TDateTime value to it, it always assumes not

          timezone given (and
thus its UTC).
          When
assigning Now to it, you will want to use the LocalTime

          property to assign
now.
          Eg.
mytime:TkbmMWDateTime; mytime.LocalTime:=Now. By doing

          so, it will
autodetect the appropriate

          local timezone.

        - Added new very fast
TkbmMWLockFreeHashArray to kbmMWGlobal.

          Its as the names
imply a lock free
          hash
array which stores an integer value with a uint64 key.

        - Enhanced TkbmMWLock to
automatically detect lock escalation,

          and allow finetuning
of spin/sleep time.
         
Tests show that TkbmMWLock is now the fastest implementation

          of a MREW with lock
escalation handling for

          Delphi/C++Builder. In
addition it allows for checking which

          threads holds which
locks at any time,
          via
the kbmMWConcurrentMREWReadLocks hash array.

        - Added to kbmMWGlobal.pas

            function
kbmMWExpectChars(var APChar:PChar;

              
const AChars:TSysCharSet):boolean;

            function
kbmMWSearchChars(var APChar:PChar;

              
const AChars:TSysCharSet):boolean;

            function
kbmMWSearchDigit(var APChar:PChar):boolean;

            function
kbmMWSearchNonDigit(var APChar:PChar):boolean;

            function
kbmMWGetDateFromWeek(const AYear:integer;

              
const AWeekNo:integer;

              
const ADayInWeek:integer):TDateTime;

            function
kbmMWGetDateFromDayOfYear(const AYear:integer;

              
const ADayOfYear:integer):TDateTime;

            function
kbmMWRoundToPowerOf2(

              
const AValue:integer):integer;

            function
kbmMWMurmurHash3(const AValue:cardinal):cardinal;

            function
kbmMWMurmurHash3(const AValue:int64):int64;

            function
kbmMWDigestToString(

              
const ADigest:TkbmMWDigest256):string;

            procedure
TkbmMWStringBuilder.Append(

              
const AStringBuilder:TkbmMWStringBuilder);

        - Added function
TkbmMWRegisteredTransportStreamList.

              
ControllerClassByID(AID:string):

              
TkbmMWCustomTransportStreamControllerClass;

        - Added support for multiple
statements in SQLite adapter

          function
TkbmMWSQLiteConnection.Query(

            const
AClass:TkbmCustomMemTableClass;

            const
ASQL:string):TkbmCustomMemTable;

          Only last will
however be returned.
        - Added to
kbmMWXML.pas:

           
TkbmMWXMLNativeDataType to handle true native XML datatype

           
understanding.

           
(TkbmMWDOMXMLNode) property

             
ChildrenByName[AName:string]:TkbmMWDOMXMLNodeList read

               
GetChildrenByName;

           
(TkbmMWDOMXMLNode) property

             
ChildrenByID[AName:string]:TkbmMWDOMXMLNodeList read

               
GetChildrenByID;

           
(TkbmMWDOMXMLNode) function GetNativeDataType(

             
AType:string = ‘‘):TkbmMWXMLNativeDataType;

           
(TkbmMWDOMXMLNode) function GetDataTypeName(

             
var ANameSpace:string; AType:string=‘‘):string;

           
(TkbmMWDOMXMLNode) property AttribByNameIsNil[

             
const AName:string]:boolean read GetAttribByNameIsNil

             
write SetAttribByNameIsNil;
        -
Added support for ftShortint as parameter and field type.

        - Added support for int64/uint64
versions of CompareAndExchange

          for pre XE.

        - Added support for XE6.

        - Added new HTTP FastCGI able
custom service and demo

          application.


    Changes/minor additions

        =======================

        - Updated object marshaller
(incl. JSON and XML) to support new

          kbmMWNullable and
TkbmMWDateTime types.
         
Internally there have been made many changes to also support

          objects defined by
XSD import.
        - Dropped own
implementation of TkbmMWEvent, and instead

          aliases TkbmMWEvent
to fastest Delphi/C++Builder

          implementation

          for given Embarcadero
version.
        - Removed from
kbmMWGlobal.pas

            function
kbmMWDateTimeToISO8601String(

             
const AValue:TDateTime):string;

            function
kbmMWISO8601StringToDateTime(

             
const AString:string):TDateTime;

            function
kbmMWDateToISO8601String(

             
const AValue:TDateTime):string;

            function
kbmMWISO8601StringToDate(

             
const AString:string):TDateTime;

            function
kbmMWTimeToISO8601String(

             
const AValue:TDateTime):string;

            function
kbmMWISO8601StringToTime(

             
const AString:string):TDateTime;

            they have
been replaced with TkbmMWDateTime.
       
- Removed from kbmMWXML.pas:

            function
kbmMWXMLTryStringToDateTime(AValue:string;

             
var ADateTime:TDateTime):boolean;

            function
kbmMWXMLDateTimeToString(AValue:TDateTime):string;

            function
kbmMWXMLStringToDateTime(AString:string):TDateTime;

            function
kbmMWXMLDateToString(AValue:TDateTime):string;

            function
kbmMWXMLStringToDate(AString:string):TDateTime;

            function
kbmMWXMLTimeToString(AValue:TDateTime):string;

            function
kbmMWXMLStringToTime(AString:string):TDateTime;

            Instead
use TkbmMWDateTime functionality.
       
- Modified in kbmMWGlobal.pas

            class
function TkbmMWPlatformMarshal.UTF8Decode(

             
const ABytes:TkbmMWBytes; ACount:TkbmNativeInt =

               
-1):string;

              
Added optional ACount.
        - Made
general use of TkbmMWLock and TkbmMWDateTime internally.

        - Performance optimized XML
parser.
           
Large XML files now parses 20-fold faster.

            (example
165 MB XML now parsed in 7.6 secs. Before parsed

            in 3.5
minutes)

        Fixes

        =====

        - Fixed bugs in
kbmMWCipherHash.pas:

            procedure
TkbmMWCustomHash.UpdateString(const Str:string);

            function
TkbmMWCustomCipher.EncryptString(

             
const Str:string):string;

            function
TkbmMWCustomCipher.DecryptString(

             
const Str:string):string;

            function
TkbmMWCustomBlockCipher.EncryptString(

             
const Str:string):string;

            function
TkbmMWCustomBlockCipher.DecryptString(

             
const Str:string):string;
        - Fixed
bugs in kbmMWMime.pas:

            function
kbmMWMimeEncodeString(const S:string):string;

            function
kbmMWMimeEncodeStringNoCRLF(const S:string):string;

            function
kbmMWMimeDecodeString(const S:string):string;

            function
kbmMWMimeDecodeString2Bytes(const S:string):

             
TkbmMWBytes;

            procedure
kbmMWMimeEncode(const InputBuffer:TkbmMWBytes;

             
var InputBufferOffset:cardinal; const InputByteCount:

             
Cardinal; var OutputBuffer:TkbmMWBytes;

             
var OutputBufferOffset:cardinal);

            function
kbmMWMimeDecodedSize(const InputSize: Cardinal):

             
Cardinal;
        - Fixed bug in SQLite
adapter when query didnt result in fields.

        - Fixed function
kbmMWEncodingToString(

            const
AEncoding:TEncoding):string; to use correct lowercase

            encoding
names.
        - Fixed bugs in
kbmMWCustomClientMessagingTransport.pas

        - Fixed multi database operation
on user transaction bug.
        - Fixed
compilation for pre XE.
        - Fixed
transport backwards compatibility support.

        - Fixed client app automatically
linking in TkbmMWServer in

          kbmMW Ent Edition.


The Professional and Enterprise Edition is available for all with a
current active SAU.
If your SAU has run out, please visit our shop to extend
it with another 12 months.

An earlier version of kbmMW CodeGear Edition
is available for free for
Delphi XE3/Win32 and includes kbmMemTable CodeGear
Edition.

KbmMW 4.50.00 测试版发布,布布扣,bubuko.com

时间: 2024-10-07 06:46:52

KbmMW 4.50.00 测试版发布的相关文章

【JavaScript 封装库】BETA 2.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 2.0 版 6 迭代版本: BETA 1.0 7 功能总数: 50 个 8 新增总数: 6 个 9 删除总数: 0 个 1

【JavaScript 封装库】BETA 1.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 1.0 版 6 迭代版本: Prototype 7 功能总数: 44 个 8 新增总数: 30 个 9 删除总数: 0 个

【JavaScript 封装库】BETA 4.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 4.0 版 6 迭代版本: BETA 3.0 7 插件总数: 12 个 8 库方法数: 26 个 9 功能总数: 67 个

【JavaScript 封装库】BETA 3.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 3.0 版 6 迭代版本: BETA 2.0 7 插件总数: 8 个 8 库方法数: 20 个 9 功能总数: 48 个

PDF 补丁丁 0.4.2.1023 测试版发布:新增旋转页面功能

新的测试版发布啦.此版本增加了旋转页面的功能. 在"PDF文档选项"对话框的"页面设置"选项卡中,可设置需要旋转的页面(输入页码范围),以及旋转角度. 此外,还修复了统一页面尺寸功能的小问题. PDF 补丁丁 0.4.2.1023 测试版发布:新增旋转页面功能,布布扣,bubuko.com

【Andorid】拍摄SDK——VCamera 1.0 测试版发布

下载地址 http://paikeimg.video.sina.com.cn/download/VCamera_SDK_Android_1.0.zip 虽然是测试版,但底层库和线上秒拍是用的同一个库,比较稳定,欢迎使用! [Andorid]拍摄SDK--VCamera 1.0 测试版发布,布布扣,bubuko.com

KBMMW 4.90.00 发布

kbmMW is a portable, highly scalable, high end application server andenterprise architecture integration (EAI) development framework forWin32, ..Net and Linux with clients residing on Win32, .Net, Linux,Unix, Mainframes, Minis, Embedded and many othe

KBMMW 4.70.00 发布

We are happy to announce the release of kbmMW v. 4.70.00 Professional and Enterprise Edition. kbmMW continues to set the bar for what an n-tier product must be capable of in the real world! New stuff ========= - Added support for marshalling and dema

KBMMW 4.83.00 发布

新版本又来了,端午节都不让大家过好:) Components4Developers is a company established in 1999 with the purpose of providing high quality development tools for developers and enterprises. The primary focus is on SOA, EAI and systems integration via our flagship product