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
-
-
-
-
- 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
-
-
-
- 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
+
+
+
+ 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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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;