作者最近加紧了更新进度,赞一个。 时间都去哪儿了? 还没好好看4.81, 新版就来了。 这个版本主要是增强日志管理,已经强大到替换delphi 本身的异常处理了。 We are happy to announce the release of kbmMW v. 4.82.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! Keywords for this release: - Much improved XSD to Delphi objects generator - New advanced logging and auditing framework for local and remote logging (remote is in Enterprise Edition only) - JSON marshalling improvements - Many more operators and features on TkbmMWDateTime - Bug fixes! Look at end of post for detailed list of additions, changes and fixes. 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. kbmMW CodeGear Edition is available for free for Delphi XE6/Win32, XE7/Win32, XE8/Win32 and includes kbmMemTable CodeGear Edition. It can be used for commercial work and require no royalty or distribution payment for compiled user executables. Please visit https://portal.components4developers.com to download. ---- kbmMW is the premiere n-tier product for Delphi, C++Builder and FPC on .Net, Win32, Win64, Linux, Java, PHP, Android, IOS, embedded devices, websites, mainframes and more. Please visit www.components4developers.com for more information about kbmMW. ---- 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 kbmMW. kbmMW is a portable, highly scalable, high end application server and enterprise architecture integration (EAI) development framework for Win32, ..Net and Linux with clients residing on Win32, .Net, Linux, Unix, Mainframes, Minis, Embedded and many other places. It is currently used as the backbone in hundreds of central systems, in hospitals, courts, private, industries, offshore industry, finance, telecom, governements, schools, laboratories, rentals, culture institutions, FDA approved medical devices, military and more. Important notes (changes that may break existing code) ====================================================== * Removed kbmMWDateTimeToString, kbmMWStringToDateTime, kbmMWDayOfWeek, kbmMWGetUTCOffset. Use TkbmMWDateTime methods instead. * Removed kbmMWGetCurrentTimeNS from kbmMWGlobal.pas. Use TkbmMWTimeNS.NowUTC. * Removed standard specific options settings on UniDAC database. Notice you must set these manually on the database template when relevant. Previous settings which were automatically set were: InterBase.BooleanDomainFields=False InterBase.DescribeParams=True New stuff ========= - Added new major feature in the form of a new logging/auditing/timing /exception handling system: Added TkbmMWLog and TkbmMWCustomLogManager descendant classes with loads of different logging, assertion, exception handling, timing and auditing mechanisms. (kbmMWLog.pas, kbmMWDebugMapFile.pas and kbmMWDebugStackTrace.pas). It supports optionally dumping stacktrace on Win32/Win64 bit systems. Notice to have the assert based logging enabled you must define in kbmMWConfig.inc: {$DEFINE KBMMW_INSTALL_ASSERT_HANDLER} Alternatively manually call kbmMWLog_InstallAssertionHandler and kbmMWLog_UnInstallAssertionHandler. Notice to have the new exception log handling mechanism enabled you must define in kbmMWConfig.inc: {$DEFINE KBMMW_INSTALL_EXCEPTION_HANDLER} Alternatively manually call kbmMWLog_InstallExceptionHandler and kbmMWLog_UnInstallExceptionHandler. Check new sample "SimpleLogging" for examples of use of logging system. - Added new remote logging features (TkbmMWClientLogManager/TkbmMWServerLogManager) based on the new logging system. (Ent only). See "RemoteLogging" for examples of use. - Added multiple features to TkbmMWDateTime: - >=,<=,>,< comparison operators on TkbmMWDateTime and TkbmMWDuration - inc/dec operators on TkbmMWDateTime - properties FixedLocalDate, FixedLocalTime, FixedLocalDateTime, FixedUTCDate, FixedUTCTime and FixedUTCDateTime. Converts to/from fixed YYYYMMDD, HHNNSSmmm and YYYYMMDDHHNNSSmmm formatted strings and replaces kbmMWDateTimeToString/kbmMWStringToDateTime in kbmMWGlobal.pas - function DayOfWeek:Word; Returns 1 (sunday) to 7 (saturday). - function SystemLocalTimeOffsetSecs:integer; Returns UTC offset in seconds for system local time. - DecodeUTCDate, DecodeUTCTime, DecodeUTCDateTime, EncodeUTCDate, EncodeUTCTime, EncodeUTCDateTime, DecodeLocalDate, DecodeLocalTime, DecodeLocalDateTime, EncodeLocalDate, EncodeLocalTime, EncodeLocalDateTime. - functions DiffSecs, DiffHours and DiffDays which returns the difference between this and given TkbmMWDateTime. - function FromDayOfYear which creates a new TkbmMWDateTime based on a day of year and a year. - static class functions FixedLocal and FixedUTC which accepts a date/time or datetime fixed string and returns a TkbmMWDateTime. - Added new TkbmMWTimeNS with class methods: NowUTC, ToDateTime and ToNSTime to convert to handle nanosecs time stamp. Notice though that the resolution is not to the nsec level. An even more precise timing is in TkbmMWTiming. - Added support for interval based and forced flushing to TkbmMWBufferedStream and all users of it like TkbmMWFileStoreaMessageQueue, TkbmMWBufferedFileStream. - Added AnonymousRoot property to TkbmMWJSONMarshal (default false). If set to true, it will not put the marshalled object within another object to ensure that the object is named. Eg. AnonymousRoot=false -> { patient: {property1:10 }} Eg. AnonymousRoot=true -> { property1:10 } - Added OnEvent property to WIB transports. Can be used for hooking in when an event message (like progress or log) is received. Changes/minor additions ======================= - Removed kbmMWDateTimeToString, kbmMWStringToDateTime, kbmMWDayOfWeek, kbmMWGetUTCOffset. Use TkbmMWDateTime methods instead. - Removed kbmMWGetCurrentTimeNS from kbmMWGlobal.pas. Use TkbmMWTimeNS.NowUTC. - Added support for SpecificSettings on TkbmMWUniDACQuery, TkbmMWUniDACStoredProc and TkbmmWUniDACResolver. - Removed standard specific options settings on UniDAC database. Notice you must set these manually on the database template when relevant. Previous settings which were automatically set were: InterBase.BooleanDomainFields=False InterBase.DescribeParams=True - Updated FireMonkey sample. Fixes ===== - Fixed pesky thread shutdown issue. - Fixed XE4 compilation issues. - Fixed CompareAndExchange 64 bit version for pre XE2 compilers. - Fixed XML parser bugs in Typed:=true and FilterAllWhiteSpace:=true scenarios. - Fixed A/V due to lock not defined early enough in TkbmMWThreadedCircularBuffer. - Fixed JSON CR escaping bug.
时间: 2024-10-24 04:04:32