diff --git a/.gitignore b/.gitignore index 1b886ee..fb4d34e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ Test/bin/ *.local *.identcache *.dcu +Test/X2LogTest.stat diff --git a/NamedPipeClient/X2LogNamedPipeClient.dproj b/NamedPipeClient/X2LogNamedPipeClient.dproj index 4070c8d..9db5792 100644 --- a/NamedPipeClient/X2LogNamedPipeClient.dproj +++ b/NamedPipeClient/X2LogNamedPipeClient.dproj @@ -1,175 +1,183 @@ - - - {883FC03C-9DB1-43A5-8053-5C920FDBCCAC} - 13.4 - VCL - X2LogNamedPipeClient.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - ..\;$(DCC_UnitSearchPath) - fmx;IndySystem;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DataSnapServer;DataSnapProviderClient;DbxCommonDriver;dbxcds;DBXOracleDriver;CustomIPTransport;dsnap;fmxase;IndyCore;inetdbxpress;IPIndyImpl;bindcompfmx;rtl;dbrtl;DbxClientDriver;bindcomp;inetdb;xmlrtl;ibxpress;IndyProtocols;DBXMySQLDriver;soaprtl;bindengine;DBXInformixDriver;DBXFirebirdDriver;inet;fmxobj;DBXSybaseASADriver;fmxdae;dbexpress;DataSnapIndy10ServerTransport;$(DCC_UsePackage) - $(BDS)\bin\delphi_PROJECTICON.ico - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - 1043 - None - lib - bin - - - dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;DBXDb2Driver;vcl;DBXMSSQLDriver;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;webdsnap;dxBarExtItemsRS16;dxPSLnksRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxGridRS16;cxEditorsRS16;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;dxFlowChartRS16;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) - - - dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;inetdbbde;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;fmi;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;X2CLGL;DBXDb2Driver;vcl;CloudService;DBXMSSQLDriver;CodeSiteExpressPkg;FmxTeeUI;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;cxSchedulerGridRS16;webdsnap;X2CLMB;dxBarExtItemsRS16;dxPSLnksRS16;OmniThreadLibraryRuntimeXE2;dxtrmdRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;madBasic_;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;vcldbx;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;madDisAsm_;svnui;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxPivotGridChartRS16;cxGridRS16;cxEditorsRS16;FMXTee;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;madExcept_;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;svn;dxFlowChartRS16;bdertl;VirtualTreesR;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) - true - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - 1033 - $(BDS)\bin\default_app.manifest - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - - - DEBUG;$(DCC_Define) - false - true - true - true - - - $(BDS)\bin\default_app.manifest - true - 1033 - false - - - false - RELEASE;$(DCC_Define) - 0 - false - - - - MainSource - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - - - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1043 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - X2LogNamedPipeClient.dpr - - - JVCL Application and Form Components - JVCL Band Objects - JVCL BDE Components - JVCL Non-Visual Components - JVCL Visual Controls - JVCL Core Components - JVCL Encryption and Compression - JVCL Custom Controls - JVCL Database Components - JVCL Dialog Components - JVCL Docking Components - JVCL DotNet Controls - JVCL Globus Components - JVCL HMI Controls - JVCL Jans Components - JVCL Managed Threads - JVCL Multimedia and Image Components - JVCL Network Components - JVCL Page Style Components - JVCL Interpreter Components - JVCL Plugin Components - JVCL Print Preview Components - JVCL Runtime Design Components - JVCL Standard Controls - JVCL System Components - JVCL Time Framework - JVCL Wizard - JVCL XP Controls - - - - - False - True - - - 12 - - - - + + + {883FC03C-9DB1-43A5-8053-5C920FDBCCAC} + 18.2 + VCL + X2LogNamedPipeClient.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + ..\;$(DCC_UnitSearchPath) + fmx;IndySystem;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DataSnapServer;DataSnapProviderClient;DbxCommonDriver;dbxcds;DBXOracleDriver;CustomIPTransport;dsnap;fmxase;IndyCore;inetdbxpress;IPIndyImpl;bindcompfmx;rtl;dbrtl;DbxClientDriver;bindcomp;inetdb;xmlrtl;ibxpress;IndyProtocols;DBXMySQLDriver;soaprtl;bindengine;DBXInformixDriver;DBXFirebirdDriver;inet;fmxobj;DBXSybaseASADriver;fmxdae;dbexpress;DataSnapIndy10ServerTransport;$(DCC_UsePackage) + $(BDS)\bin\delphi_PROJECTICON.ico + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1043 + None + lib + bin + X2LogNamedPipeClient + + + dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;inetdbbde;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;fmi;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;X2CLGL;DBXDb2Driver;vcl;CloudService;DBXMSSQLDriver;CodeSiteExpressPkg;FmxTeeUI;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;cxSchedulerGridRS16;webdsnap;X2CLMB;dxBarExtItemsRS16;dxPSLnksRS16;OmniThreadLibraryRuntimeXE2;dxtrmdRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;madBasic_;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;vcldbx;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;madDisAsm_;svnui;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxPivotGridChartRS16;cxGridRS16;cxEditorsRS16;FMXTee;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;madExcept_;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;svn;dxFlowChartRS16;bdertl;VirtualTreesR;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) + true + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + $(BDS)\bin\default_app.manifest + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;DBXDb2Driver;vcl;DBXMSSQLDriver;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;webdsnap;dxBarExtItemsRS16;dxPSLnksRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxGridRS16;cxEditorsRS16;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;dxFlowChartRS16;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + false + true + true + true + + + $(BDS)\bin\default_app.manifest + true + 1033 + false + true + Debug + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + + + + + False + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1043 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + X2LogNamedPipeClient.dpr + + + JVCL Application and Form Components + JVCL Band Objects + JVCL BDE Components + JVCL Non-Visual Components + JVCL Visual Controls + JVCL Core Components + JVCL Encryption and Compression + JVCL Custom Controls + JVCL Database Components + JVCL Dialog Components + JVCL Docking Components + JVCL DotNet Controls + JVCL Globus Components + JVCL HMI Controls + JVCL Jans Components + JVCL Managed Threads + JVCL Multimedia and Image Components + JVCL Network Components + JVCL Page Style Components + JVCL Interpreter Components + JVCL Plugin Components + JVCL Print Preview Components + JVCL Runtime Design Components + JVCL Standard Controls + JVCL System Components + JVCL Time Framework + JVCL Wizard + JVCL XP Controls + + + + + True + False + + + 12 + + + + + diff --git a/Packages/D10/X2LogJson.dpk b/Packages/D10/X2LogJson.dpk index 0f12821..2897510 100644 --- a/Packages/D10/X2LogJson.dpk +++ b/Packages/D10/X2LogJson.dpk @@ -31,7 +31,8 @@ package X2LogJson; requires rtl, - X2Log; + X2Log, + soaprtl; contains X2Log.TextFormatter.Json in '..\..\X2Log.TextFormatter.Json.pas', diff --git a/Packages/D10/X2LogJson.dproj b/Packages/D10/X2LogJson.dproj index dd62c7c..9cd6ebc 100644 --- a/Packages/D10/X2LogJson.dproj +++ b/Packages/D10/X2LogJson.dproj @@ -138,6 +138,7 @@ + diff --git a/ServiceTest/X2LogServiceTest.dproj b/ServiceTest/X2LogServiceTest.dproj index c02057a..643acd3 100644 --- a/ServiceTest/X2LogServiceTest.dproj +++ b/ServiceTest/X2LogServiceTest.dproj @@ -1,179 +1,186 @@ - - - {F55F63BD-FBEE-4080-B6D6-0410C2731C0F} - 13.4 - VCL - X2LogServiceTest.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - ..\;$(DCC_UnitSearchPath) - fmx;IndySystem;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DataSnapServer;DataSnapProviderClient;DbxCommonDriver;dbxcds;DBXOracleDriver;CustomIPTransport;dsnap;fmxase;IndyCore;inetdbxpress;IPIndyImpl;bindcompfmx;rtl;dbrtl;DbxClientDriver;bindcomp;inetdb;xmlrtl;ibxpress;IndyProtocols;DBXMySQLDriver;soaprtl;bindengine;DBXInformixDriver;DBXFirebirdDriver;inet;fmxobj;DBXSybaseASADriver;fmxdae;dbexpress;DataSnapIndy10ServerTransport;$(DCC_UsePackage) - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - $(BDS)\bin\delphi_PROJECTICON.ico - None - 1043 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - lib - bin - - - dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;DBXDb2Driver;vcl;DBXMSSQLDriver;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;webdsnap;dxBarExtItemsRS16;dxPSLnksRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxGridRS16;cxEditorsRS16;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;dxFlowChartRS16;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) - - - dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;inetdbbde;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;fmi;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;X2CLGL;DBXDb2Driver;vcl;CloudService;DBXMSSQLDriver;CodeSiteExpressPkg;FmxTeeUI;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;cxSchedulerGridRS16;webdsnap;X2CLMB;dxBarExtItemsRS16;dxPSLnksRS16;OmniThreadLibraryRuntimeXE2;dxtrmdRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;madBasic_;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;vcldbx;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;madDisAsm_;svnui;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxPivotGridChartRS16;cxGridRS16;cxEditorsRS16;FMXTee;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;madExcept_;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;svn;dxFlowChartRS16;bdertl;VirtualTreesR;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) - true - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - 1033 - $(BDS)\bin\default_app.manifest - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - - - DEBUG;$(DCC_Define) - false - true - true - true - - - true - 1033 - false - - - false - RELEASE;$(DCC_Define) - 0 - false - - - - MainSource - - -
ServiceDM
- dfm - TService -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - - - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1043 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - X2LogServiceTest.dpr - - - JVCL Application and Form Components - JVCL Band Objects - JVCL BDE Components - JVCL Non-Visual Components - JVCL Visual Controls - JVCL Core Components - JVCL Encryption and Compression - JVCL Custom Controls - JVCL Database Components - JVCL Dialog Components - JVCL Docking Components - JVCL DotNet Controls - JVCL Globus Components - JVCL HMI Controls - JVCL Jans Components - JVCL Managed Threads - JVCL Multimedia and Image Components - JVCL Network Components - JVCL Page Style Components - JVCL Interpreter Components - JVCL Plugin Components - JVCL Print Preview Components - JVCL Runtime Design Components - JVCL Standard Controls - JVCL System Components - JVCL Time Framework - JVCL Wizard - JVCL XP Controls - - - - - False - True - - - 12 - - - -
+ + + {F55F63BD-FBEE-4080-B6D6-0410C2731C0F} + 18.2 + VCL + X2LogServiceTest.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + ..\;$(DCC_UnitSearchPath) + fmx;IndySystem;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DataSnapServer;DataSnapProviderClient;DbxCommonDriver;dbxcds;DBXOracleDriver;CustomIPTransport;dsnap;fmxase;IndyCore;inetdbxpress;IPIndyImpl;bindcompfmx;rtl;dbrtl;DbxClientDriver;bindcomp;inetdb;xmlrtl;ibxpress;IndyProtocols;DBXMySQLDriver;soaprtl;bindengine;DBXInformixDriver;DBXFirebirdDriver;inet;fmxobj;DBXSybaseASADriver;fmxdae;dbexpress;DataSnapIndy10ServerTransport;$(DCC_UsePackage) + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + $(BDS)\bin\delphi_PROJECTICON.ico + None + 1043 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + lib + bin + X2LogServiceTest + + + dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;inetdbbde;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;fmi;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;X2CLGL;DBXDb2Driver;vcl;CloudService;DBXMSSQLDriver;CodeSiteExpressPkg;FmxTeeUI;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;cxSchedulerGridRS16;webdsnap;X2CLMB;dxBarExtItemsRS16;dxPSLnksRS16;OmniThreadLibraryRuntimeXE2;dxtrmdRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;madBasic_;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;vcldbx;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;madDisAsm_;svnui;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxPivotGridChartRS16;cxGridRS16;cxEditorsRS16;FMXTee;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;madExcept_;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;svn;dxFlowChartRS16;bdertl;VirtualTreesR;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) + true + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + $(BDS)\bin\default_app.manifest + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + dxdborRS16;cxLibraryRS16;dxLayoutControlRS16;dxPScxPivotGridLnkRS16;dxCoreRS16;cxExportRS16;dxBarRS16;cxSpreadSheetRS16;cxTreeListdxBarPopupMenuRS16;TeeDB;dxDBXServerModeRS16;dxPsPrVwAdvRS16;vclib;dxPSCoreRS16;cxPivotGridOLAPRS16;dxPScxTLLnkRS16;dxPScxGridLnkRS16;cxPageControlRS16;dxRibbonRS16;DBXSybaseASEDriver;vclimg;cxTreeListRS16;dxComnRS16;vcldb;dxADOServerModeRS16;vcldsnap;dxBarExtDBItemsRS16;DBXDb2Driver;vcl;DBXMSSQLDriver;cxDataRS16;cxBarEditItemRS16;dxDockingRS16;dxPSDBTeeChartRS16;cxPageControldxBarPopupMenuRS16;webdsnap;dxBarExtItemsRS16;dxPSLnksRS16;dxPSTeeChartRS16;adortl;dxPSdxLCLnkRS16;dxorgcRS16;dxWizardControlRS16;dxPScxExtCommonRS16;dxNavBarRS16;dxPSdxDBOCLnkRS16;cxSchedulerTreeBrowserRS16;Tee;DBXOdbcDriver;dxdbtrRS16;dxPScxSSLnkRS16;dxPScxCommonRS16;dxmdsRS16;dxPSPrVwRibbonRS16;cxGridRS16;cxEditorsRS16;TeeUI;vclactnband;dxServerModeRS16;bindcompvcl;cxPivotGridRS16;dxPScxSchedulerLnkRS16;dxPSdxDBTVLnkRS16;vclie;cxSchedulerRibbonStyleEventEditorRS16;cxSchedulerRS16;vcltouch;websnap;VclSmp;dxTabbedMDIRS16;DataSnapConnectors;dxPSdxOCLnkRS16;dsnapcon;dxPSdxFCLnkRS16;dxThemeRS16;dxPScxPCProdRS16;vclx;dxFlowChartRS16;dxGDIPlusRS16;dxBarDBNavRS16;$(DCC_UsePackage) + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + false + true + true + true + + + true + 1033 + false + Debug + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + +
ServiceDM
+ dfm + TService +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + + + + + False + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1043 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + X2LogServiceTest.dpr + + + JVCL Application and Form Components + JVCL Band Objects + JVCL BDE Components + JVCL Non-Visual Components + JVCL Visual Controls + JVCL Core Components + JVCL Encryption and Compression + JVCL Custom Controls + JVCL Database Components + JVCL Dialog Components + JVCL Docking Components + JVCL DotNet Controls + JVCL Globus Components + JVCL HMI Controls + JVCL Jans Components + JVCL Managed Threads + JVCL Multimedia and Image Components + JVCL Network Components + JVCL Page Style Components + JVCL Interpreter Components + JVCL Plugin Components + JVCL Print Preview Components + JVCL Runtime Design Components + JVCL Standard Controls + JVCL System Components + JVCL Time Framework + JVCL Wizard + JVCL XP Controls + + + + + True + False + + + 12 + + + + +
diff --git a/Test/X2LogTest.dproj b/Test/X2LogTest.dproj index 1666038..cb88313 100644 --- a/Test/X2LogTest.dproj +++ b/Test/X2LogTest.dproj @@ -1,222 +1,642 @@ - - - {e601c684-e576-44d0-b94c-9a32de0c82c4} - Debug - DCC32 - X2LogTest.exe - X2LogTest.dpr - VCL - 13.4 - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - $(BDS)\bin\delphi_PROJECTICON.ico - bin - None - lib - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - 1043 - - - X2LogTest_Icon.ico - $(BDS)\bin\default_app.manifest - - - true - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - 1033 - $(BDS)\bin\default_app.manifest - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - - - true - $(BDS)\bin\default_app.manifest - 1033 - - - 7.0 - DEBUG;$(DCC_Define) - - - 3 - $(BDS)\bin\default_app.manifest - true - 1033 - - - Delphi.Personality.12 - - - - - False - True - False - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1043 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - JVCL Application and Form Components - JVCL Band Objects - JVCL BDE Components - JVCL Non-Visual Components - JVCL Visual Controls - JVCL Core Components - JVCL Encryption and Compression - JVCL Custom Controls - JVCL Database Components - JVCL Dialog Components - JVCL Docking Components - JVCL DotNet Controls - JVCL Globus Components - JVCL HMI Controls - JVCL Jans Components - JVCL Managed Threads - JVCL Multimedia and Image Components - JVCL Network Components - JVCL Page Style Components - JVCL Interpreter Components - JVCL Plugin Components - JVCL Print Preview Components - JVCL Runtime Design Components - JVCL Standard Controls - JVCL System Components - JVCL Time Framework - JVCL Wizard - JVCL XP Controls - - - X2LogTest.dpr - - - - False - True - - - 12 - - - - MainSource - - -
MainForm
-
- - - - - - - - - - - -
X2LogObserverMonitorForm
-
- - - - - - - - - - - - - - - RCDATA - GraphicDetails - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - -
+ + + {e601c684-e576-44d0-b94c-9a32de0c82c4} + Debug + DCC32 + X2LogTest.exe + X2LogTest.dpr + VCL + 18.2 + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + $(BDS)\bin\delphi_PROJECTICON.ico + bin + None + lib + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1043 + X2LogTest + + + true + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + $(BDS)\bin\default_app.manifest + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + X2LogTest_Icon.ico + $(BDS)\bin\default_app.manifest + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + 7.0 + 0 + False + 0 + RELEASE;$(DCC_Define) + + + true + $(BDS)\bin\default_app.manifest + 1033 + true + + + 7.0 + DEBUG;$(DCC_Define) + + + 3 + $(BDS)\bin\default_app.manifest + true + 1033 + true + Debug + true + + + Delphi.Personality.12 + + + + + False + True + False + + + False + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1043 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + TRichView: RichViewActions for Delphi 10 Seattle + WPViewPDF 3 + File P:\algemeen\bin\D10\dclFrameViewerD10.bpl not found + File P:\algemeen\packages\delphiexperts\UnitSwitcher\Lib\D10\UnitSwitcherD10.bpl not found + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + X2LogTest.dpr + + + + True + False + + + + + .\ + true + + + + + X2LogTest.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 0 + + + + + classes + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + + + res\values + 1 + + + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\ + 1 + + + + + Contents + 1 + + + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + 12 + + + + MainSource + + +
MainForm
+
+ + + + + + + + + + + +
X2LogObserverMonitorForm
+
+ + + + + + + + + + + + + + + RCDATA + GraphicDetails + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + + + +
diff --git a/Test/X2LogTest.res b/Test/X2LogTest.res index c287ee9..da24bfd 100644 Binary files a/Test/X2LogTest.res and b/Test/X2LogTest.res differ diff --git a/Test/source/MainFrm.dfm b/Test/source/MainFrm.dfm index c736699..ef13a05 100644 --- a/Test/source/MainFrm.dfm +++ b/Test/source/MainFrm.dfm @@ -72,10 +72,6 @@ object MainForm: TMainForm end object tsFile: TTabSheet Caption = 'File' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 DesignSize = ( 623 299) @@ -168,10 +164,6 @@ object MainForm: TMainForm end object tsRollingFile: TTabSheet Caption = 'Rolling File' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 DesignSize = ( 623 299) @@ -279,10 +271,6 @@ object MainForm: TMainForm end object tsNamedPipe: TTabSheet Caption = 'Named Pipe' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 DesignSize = ( 623 299) @@ -431,10 +419,6 @@ object MainForm: TMainForm TabOrder = 2 object tsText: TTabSheet Caption = 'Text' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 DesignSize = ( 623 76) @@ -504,10 +488,6 @@ object MainForm: TMainForm object tsException: TTabSheet Caption = 'Exception' ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 DesignSize = ( 623 76) @@ -706,7 +686,7 @@ object MainForm: TMainForm Left = 552 Top = 176 Bitmap = { - 494C01010200140070000C000C00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010200140074000C000C00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000300000000C00000001002000000000000009 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 diff --git a/Test/source/MainFrm.pas b/Test/source/MainFrm.pas index 8d2ab06..8e7f99e 100644 --- a/Test/source/MainFrm.pas +++ b/Test/source/MainFrm.pas @@ -10,7 +10,7 @@ uses Vcl.ImgList, Vcl.StdCtrls, - X2Log.Intf; + X2Log.Intf, System.ImageList; type diff --git a/X2Log.Details.Default.pas b/X2Log.Details.Default.pas index 476275b..c447d0d 100644 --- a/X2Log.Details.Default.pas +++ b/X2Log.Details.Default.pas @@ -22,6 +22,7 @@ type { IX2LogDetails } function GetSerializerIID: TGUID; + function Clone: IX2LogDetails; { IX2LogDetailsText } function GetAsString: string; @@ -41,6 +42,7 @@ type FValueType: TX2LogValueType; protected constructor Create(AValueType: TX2LogValueType; AStream: TStream = nil; ASize: Cardinal = 0); overload; virtual; + function Clone: TX2LogDictionaryValue; virtual; abstract; procedure LoadFromStream(AStream: TStream; ASize: Cardinal); virtual; abstract; procedure SaveToStream(AStream: TStream); virtual; abstract; @@ -88,6 +90,7 @@ type { IX2LogDetails } function GetSerializerIID: TGUID; + function Clone: IX2LogDetails; { IX2LogDetailsDictionary } function GetKeys: TEnumerable; @@ -123,6 +126,7 @@ type { IX2LogDetails } function GetSerializerIID: TGUID; + function Clone: IX2LogDetails; { IX2LogDetailsBinary } function GetAsStream: TStream; @@ -148,6 +152,7 @@ type { IX2LogDetails } function GetSerializerIID: TGUID; + function Clone: IX2LogDetails; { IX2LogDetailsGraphic } function GetAsGraphic: TGraphic; @@ -217,6 +222,7 @@ type FValue: string; protected constructor Create(const AValue: string); overload; + function Clone: TX2LogDictionaryValue; override; procedure LoadFromStream(AStream: TStream; ASize: Cardinal); override; procedure SaveToStream(AStream: TStream); override; @@ -232,6 +238,7 @@ type FValue: Boolean; protected constructor Create(AValue: Boolean); overload; + function Clone: TX2LogDictionaryValue; override; procedure LoadFromStream(AStream: TStream; ASize: Cardinal); override; procedure SaveToStream(AStream: TStream); override; @@ -247,6 +254,7 @@ type FValue: Int64; protected constructor Create(AValue: Int64); overload; + function Clone: TX2LogDictionaryValue; override; procedure LoadFromStream(AStream: TStream; ASize: Cardinal); override; procedure SaveToStream(AStream: TStream); override; @@ -262,6 +270,7 @@ type FValue: Extended; protected constructor Create(AValue: Extended); overload; + function Clone: TX2LogDictionaryValue; override; procedure LoadFromStream(AStream: TStream; ASize: Cardinal); override; procedure SaveToStream(AStream: TStream); override; @@ -277,6 +286,7 @@ type FValue: TDateTime; protected constructor Create(AValue: TDateTime); overload; + function Clone: TX2LogDictionaryValue; override; procedure LoadFromStream(AStream: TStream; ASize: Cardinal); override; procedure SaveToStream(AStream: TStream); override; @@ -311,6 +321,12 @@ begin end; +function TX2LogStringDetails.Clone: IX2LogDetails; +begin + Result := TX2LogStringDetails.Create(FText); +end; + + function TX2LogStringDetails.GetAsString: string; begin Result := FText; @@ -442,6 +458,21 @@ begin end; +function TX2LogDictionaryDetails.Clone: IX2LogDetails; +var + values: TX2LogValueDictionary; + pair: TPair; + +begin + values := TX2LogValueDictionary.Create([doOwnsValues]); + + for pair in FValues do + values.Add(pair.Key, pair.Value.Clone); + + Result := TX2LogDictionaryDetails.CreateOwned(values); +end; + + function TX2LogDictionaryDetails.GetKeys: TEnumerable; begin Result := FValues.Keys; @@ -566,6 +597,12 @@ begin end; +function TX2LogBinaryDetails.Clone: IX2LogDetails; +begin + Result := TX2LogBinaryDetails.Create(Data); +end; + + function TX2LogBinaryDetails.GetAsStream: TStream; begin Data.Position := 0; @@ -623,6 +660,12 @@ begin end; +function TX2LogGraphicDetails.Clone: IX2LogDetails; +begin + Result := TX2LogGraphicDetails.Create(FGraphic); +end; + + procedure TX2LogGraphicDetails.CopyToClipboard; var format: Word; @@ -823,6 +866,12 @@ begin end; +function TX2LogDictionaryStringValue.Clone: TX2LogDictionaryValue; +begin + Result := TX2LogDictionaryStringValue.Create(FValue); +end; + + procedure TX2LogDictionaryStringValue.LoadFromStream(AStream: TStream; ASize: Cardinal); begin Value := TStreamUtil.ReadString(AStream, nil, False, ASize); @@ -850,6 +899,12 @@ begin end; +function TX2LogDictionaryBooleanValue.Clone: TX2LogDictionaryValue; +begin + Result := TX2LogDictionaryBooleanValue.Create(FValue); +end; + + procedure TX2LogDictionaryBooleanValue.LoadFromStream(AStream: TStream; ASize: Cardinal); begin if ASize <> SizeOf(Boolean) then @@ -880,6 +935,12 @@ begin end; +function TX2LogDictionaryIntValue.Clone: TX2LogDictionaryValue; +begin + Result := TX2LogDictionaryIntValue.Create(FValue); +end; + + procedure TX2LogDictionaryIntValue.LoadFromStream(AStream: TStream; ASize: Cardinal); begin if ASize <> SizeOf(Int64) then @@ -910,6 +971,12 @@ begin end; +function TX2LogDictionaryFloatValue.Clone: TX2LogDictionaryValue; +begin + Result := TX2LogDictionaryFloatValue.Create(FValue); +end; + + procedure TX2LogDictionaryFloatValue.LoadFromStream(AStream: TStream; ASize: Cardinal); begin if ASize <> SizeOf(Extended) then @@ -940,6 +1007,12 @@ begin end; +function TX2LogDictionaryDateTimeValue.Clone: TX2LogDictionaryValue; +begin + Result := TX2LogDictionaryDateTimeValue.Create(FValue); +end; + + procedure TX2LogDictionaryDateTimeValue.LoadFromStream(AStream: TStream; ASize: Cardinal); begin if ASize <> SizeOf(TDateTime) then diff --git a/X2Log.Intf.pas b/X2Log.Intf.pas index 71fdcd3..390fb4e 100644 --- a/X2Log.Intf.pas +++ b/X2Log.Intf.pas @@ -21,6 +21,7 @@ type IX2LogDetails = interface ['{86F24F52-CE1F-4A79-936F-A5805D84E18A}'] function GetSerializerIID: TGUID; + function Clone: IX2LogDetails; property SerializerIID: TGUID read GetSerializerIID; end; diff --git a/X2Log.Observer.CustomThreaded.pas b/X2Log.Observer.CustomThreaded.pas index d996435..52a87a6 100644 --- a/X2Log.Observer.CustomThreaded.pas +++ b/X2Log.Observer.CustomThreaded.pas @@ -171,10 +171,17 @@ end; procedure TX2LogObserverWorkerThread.Log(ALevel: TX2LogLevel; ADateTime: TDateTime; const AMessage, ACategory: string; ADetails: IX2LogDetails); +var + details: IX2LogDetails; + begin + details := nil; + if Assigned(ADetails) then + details := ADetails.Clone; + TMonitor.Enter(LogQueue); try - LogQueue.Enqueue(TX2LogQueueEntry.Create(ALevel, ADateTime, AMessage, ACategory, ADetails)); + LogQueue.Enqueue(TX2LogQueueEntry.Create(ALevel, ADateTime, AMessage, ACategory, details)); LogQueueSignal.SetEvent; finally TMonitor.Exit(LogQueue); diff --git a/X2Log.Observer.Event.pas b/X2Log.Observer.Event.pas index c24486c..1a5ac56 100644 --- a/X2Log.Observer.Event.pas +++ b/X2Log.Observer.Event.pas @@ -49,7 +49,14 @@ end; procedure TX2LogEventObserver.DoLog(ALevel: TX2LogLevel; ADateTime: TDateTime; const AMessage, ACategory: string; ADetails: IX2LogDetails); +var + details: IX2LogDetails; + begin + details := nil; + if Assigned(ADetails) then + details := ADetails.Clone; + if Assigned(FOnLog) then begin if RunInMainThread then @@ -58,10 +65,10 @@ begin procedure begin if Assigned(FOnLog) then - FOnLog(Self, ALevel, ADateTime, AMessage, ACategory, ADetails); + FOnLog(Self, ALevel, ADateTime, AMessage, ACategory, details); end); end else - FOnLog(Self, ALevel, ADateTime, AMessage, ACategory, ADetails); + FOnLog(Self, ALevel, ADateTime, AMessage, ACategory, details); end; end; diff --git a/X2Log.TextFormatter.Json.pas b/X2Log.TextFormatter.Json.pas index 61f192a..19eb8b7 100644 --- a/X2Log.TextFormatter.Json.pas +++ b/X2Log.TextFormatter.Json.pas @@ -50,6 +50,7 @@ implementation uses Soap.EncdDecd, System.Classes, + System.NetEncoding, System.SysUtils;