Subversion Repositories simple_log_event

Compare Revisions

No changes between revisions

Regard whitespace Rev 1 → Rev HEAD

/trunk/LICENSE
0,0 → 1,202
 
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
 
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
1. Definitions.
 
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
 
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
 
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
 
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
 
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
 
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
 
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
 
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
 
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
 
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
 
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
 
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
 
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
 
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
 
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
 
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
 
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
 
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
 
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
 
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
 
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
 
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
 
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
 
END OF TERMS AND CONDITIONS
 
APPENDIX: How to apply the Apache License to your work.
 
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
 
Copyright 2018 Daniel Marschall, ViaThinkSoft
 
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
http://www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
/trunk/LogTestUsingDelphi/DelWaste.bat
0,0 → 1,8
@echo off
 
rd /s /q "%~dp0\__history"
rd /s /q "%~dp0\__recovery"
del "%~dp0*.dcu"
del "%~dp0*.rsm"
del "%~dp0*.local"
del "%~dp0*.identcache"
/trunk/LogTestUsingDelphi/LogWriteTestDelphi.dpr
0,0 → 1,29
program LogWriteTestDelphi;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
System.SysUtils,
ActiveX,
ViaThinkSoftSimpleLogEvent_TLB in '..\TLB\ViaThinkSoftSimpleLogEvent_TLB.pas';
 
var
x: IViaThinkSoftSimpleEventLog;
begin
try
CoInitialize(nil);
x := CoViaThinkSoftSimpleEventLog.Create;
{$IFDEF WIN64}
x.LogEvent('MySourceName', ViaThinkSoftSimpleLogEvent_TLB.Warning, 'This is a test warning written by Delphi 64 bit');
{$ELSE}
x.LogEvent('MySourceName', ViaThinkSoftSimpleLogEvent_TLB.Warning, 'This is a test warning written by Delphi 32 bit');
{$ENDIF}
x := nil;
//CoUninitialize; // TODO: If I do this, I get an access violation at process end?!
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
/trunk/LogTestUsingDelphi/LogWriteTestDelphi.dproj
0,0 → 1,1025
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{65534E48-08F5-4091-8139-B75C7577C255}</ProjectGuid>
<ProjectVersion>18.8</ProjectVersion>
<FrameworkType>None</FrameworkType>
<MainSource>LogWriteTestDelphi.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win64</Platform>
<TargetedPlatforms>3</TargetedPlatforms>
<AppType>Console</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_E>false</DCC_E>
<DCC_N>false</DCC_N>
<DCC_S>false</DCC_S>
<DCC_F>false</DCC_F>
<DCC_K>false</DCC_K>
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_Locale>1031</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<SanitizedProjectName>LogWriteTestDelphi</SanitizedProjectName>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;svn;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;SynEditDR;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_Locale>1033</VerInfo_Locale>
<DCC_ConsoleTarget>true</DCC_ConsoleTarget>
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
<PostBuildEvent><![CDATA[copy "$(OutputName)$(OutputExt)" "$(OutputName)32$(OutputExt)"
$(PostBuildEvent)]]></PostBuildEvent>
<Manifest_File>(Ohne)</Manifest_File>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;SynEditDR;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
<DCC_ConsoleTarget>true</DCC_ConsoleTarget>
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_Locale>1033</VerInfo_Locale>
<PostBuildEvent><![CDATA[copy "$(OutputName)$(OutputExt)" "$(OutputName)64$(OutputExt)"
$(PostBuildEvent)]]></PostBuildEvent>
<Manifest_File>(Ohne)</Manifest_File>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<DCC_RemoteDebug>false</DCC_RemoteDebug>
<VerInfo_Locale>1033</VerInfo_Locale>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_DebugInformation>0</DCC_DebugInformation>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<VerInfo_Locale>1033</VerInfo_Locale>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\TLB\ViaThinkSoftSimpleLogEvent_TLB.pas"/>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>Application</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">LogWriteTestDelphi.dpr</Source>
</Source>
<Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<Deployment Version="3">
<DeployFile LocalName="$(BDS)\Redist\osx32\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="OSX32">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="Win32\Debug\LogWriteTestDelphi.exe" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>LogWriteTestDelphi.exe</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider">
<Platform Name="Android">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiv7aFile">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStylesV21">
<Platform Name="Android">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Colors">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon144">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon24">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage640">
<Platform Name="Android">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage960">
<Platform Name="Android">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Strings">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyModule">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="DependencyPackage">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="Android64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1024x768">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1536x2048">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1668">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1668x2388">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048x1536">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048x2732">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2224">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2388x1668">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2732x2048">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch768x1024">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1125">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1136x640">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1242">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1242x2688">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1334">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1792">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2208">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2436">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2688x1242">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch320">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640x1136">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch750">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch828">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android">
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice32">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceResourceRules">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSEntitlements">
<Platform Name="iOSDevice32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSInfoPList">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXDebug">
<Platform Name="OSX64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXEntitlements">
<Platform Name="OSX32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXInfoPList">
<Platform Name="OSX32">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="ProjectOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="Linux64">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectUWPManifest">
<Platform Name="Win32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo150">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo44">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
</Deployment>
<Platforms>
<Platform value="Win32">True</Platform>
<Platform value="Win64">True</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
<PropertyGroup Condition="'$(Config)'=='Debug' And '$(Platform)'=='Win32'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>copy &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)32$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' And '$(Platform)'=='Win64'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>copy &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)64$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' And '$(Platform)'=='Win32'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>copy &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)32$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' And '$(Platform)'=='Win64'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>copy &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)64$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
</Project>
/trunk/LogTestUsingDelphi/LogWriteTestDelphi.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/LogTestUsingDelphi/LogWriteTestDelphi32.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/LogTestUsingDelphi/LogWriteTestDelphi64.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/LogTestUsingPHP/LogTest.php
0,0 → 1,36
<?php
 
// You need to do following:
// (1) At PHP.ini you need to make following changes:
// extension_dir = "ext"
// extension=com_dotnet
// (2) Run following commands as administrator:
// regsvr32 ViaThinkSoftSimpleLogEvent32.dll (if you run 32 bit PHP)
// regsvr32 ViaThinkSoftSimpleLogEvent64.dll (if you run 64 bit PHP)
// (You can also run both)
 
define('CLASS_ViaThinkSoftSimpleEventLog', '{E4270053-A217-498C-B395-9EF33187E8C2}');
 
define('LOGEVENT_MSG_SUCCESS', 0);
define('LOGEVENT_MSG_INFORMATIONAL', 1);
define('LOGEVENT_MSG_WARNING', 2);
define('LOGEVENT_MSG_ERROR', 3);
 
if (!class_exists('COM')) {
die('To use ViaThinkSoftSimpleEventLog, please enable the lines "extension=com_dotnet" and "extension_dir=ext" in your PHP.ini file');
}
 
try {
$x = new COM(CLASS_ViaThinkSoftSimpleEventLog);
} catch (Exception $e) {
die('Error calling object ViaThinkSoftSimpleEventLog. Was the DLL file registered correctly? (Error: '.$e->getMessage().')');
}
 
if (PHP_INT_SIZE == 8) {
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by 64 bit PHP');
} else if (PHP_INT_SIZE == 4) {
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by 32 bit PHP');
} else {
// Should never happen!
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by whatever-bit PHP');
}
/trunk/LogTestUsingVBS/LogTest.vbs
0,0 → 1,382
Dim objMyObject
 
set objMyObject = CreateObject("ViaThinkSoftSimpleLogEvent.ViaThinkSoftSimpleEventLog")
 
const LOGEVENT_MSG_SUCCESS = 0
const LOGEVENT_MSG_INFORMATIONAL = 1
const LOGEVENT_MSG_WARNING = 2
const LOGEVENT_MSG_ERROR = 3
 
objMyObject.LogEvent "MySourceName", LOGEVENT_MSG_WARNING, "This is a test warning written by VBS"
 
MsgBox "OK"
 
'' SIG '' Begin signature block
'' SIG '' MIIvRAYJKoZIhvcNAQcCoIIvNTCCLzECAQExDzANBglg
'' SIG '' hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
'' SIG '' BgEEAYI3AgEeMCQCAQEEEE7wKRaZJ7VNj+Ws4Q8X66sC
'' SIG '' AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
'' SIG '' mcef9t8Nrm2Qk3Ht1fze0WvKqQmuo14MP9ZvruUZPgOg
'' SIG '' ghS2MIIFojCCBIqgAwIBAgIQeAMYQkVwikHPbwG47rSp
'' SIG '' VDANBgkqhkiG9w0BAQwFADBMMSAwHgYDVQQLExdHbG9i
'' SIG '' YWxTaWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xv
'' SIG '' YmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0y
'' SIG '' MDA3MjgwMDAwMDBaFw0yOTAzMTgwMDAwMDBaMFMxCzAJ
'' SIG '' BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52
'' SIG '' LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENvZGUgU2ln
'' SIG '' bmluZyBSb290IFI0NTCCAiIwDQYJKoZIhvcNAQEBBQAD
'' SIG '' ggIPADCCAgoCggIBALYtxTDdeuirkD0DcrA6S5kWYbLl
'' SIG '' /6VnHTcc5X7sk4OqhPWjQ5uYRYq4Y1ddmwCIBCXp+GiS
'' SIG '' S4LYS8lKA/Oof2qPimEnvaFE0P31PyLCo0+RjbMFsiiC
'' SIG '' kV37WYgFC5cGwpj4LKczJO5QOkHM8KCwex1N0qhYOJbp
'' SIG '' 3/kbkbuLECzSx0Mdogl0oYCve+YzCgxZa4689Ktal3t/
'' SIG '' rlX7hPCA/oRM1+K6vcR1oW+9YRB0RLKYB+J0q/9o3Gwm
'' SIG '' Pukf5eAEh60w0wyNA3xVuBZwXCR4ICXrZ2eIq7pONJhr
'' SIG '' cBHeOMrUvqHAnOHfHgIB2DvhZ0OEts/8dLcvhKO/ugk3
'' SIG '' PWdssUVcGWGrQYP1rB3rdw1GR3POv72Vle2dK4gQ/vpY
'' SIG '' 6KdX4bPPqFrpByWbEsSegHI9k9yMlN87ROYmgPzSwwPw
'' SIG '' jAzSRdYu54+YnuYE7kJuZ35CFnFi5wT5YMZkobacgSFO
'' SIG '' K8ZtaJSGxpl0c2cxepHy1Ix5bnymu35Gb03FhRIrz5oi
'' SIG '' RAiohTfOB2FXBhcSJMDEMXOhmDVXR34QOkXZLaRRkJip
'' SIG '' oAc3xGUaqhxrFnf3p5fsPxkwmW8x++pAsufSxPrJ0PBQ
'' SIG '' dnRZ+o1tFzK++Ol+A/Tnh3Wa1EqRLIUDEwIrQoDyiWo2
'' SIG '' z8hMoM6e+MuNrRan097VmxinxpI68YJj8S4OJGTfAgMB
'' SIG '' AAGjggF3MIIBczAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0l
'' SIG '' BAwwCgYIKwYBBQUHAwMwDwYDVR0TAQH/BAUwAwEB/zAd
'' SIG '' BgNVHQ4EFgQUHwC/RoAK/Hg5t6W0Q9lWULvOljswHwYD
'' SIG '' VR0jBBgwFoAUj/BLf6guRSSuTVD6Y5qL3uLdG7wwegYI
'' SIG '' KwYBBQUHAQEEbjBsMC0GCCsGAQUFBzABhiFodHRwOi8v
'' SIG '' b2NzcC5nbG9iYWxzaWduLmNvbS9yb290cjMwOwYIKwYB
'' SIG '' BQUHMAKGL2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5j
'' SIG '' b20vY2FjZXJ0L3Jvb3QtcjMuY3J0MDYGA1UdHwQvMC0w
'' SIG '' K6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v
'' SIG '' cm9vdC1yMy5jcmwwRwYDVR0gBEAwPjA8BgRVHSAAMDQw
'' SIG '' MgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNp
'' SIG '' Z24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3DQEBDAUA
'' SIG '' A4IBAQCs98wVizB5qB0LKIgZCdccf/6GvXtaM24NZw57
'' SIG '' YtnhGFywvRNdHSOuOVB2N6pE/V8BI1mGVkzMrbxkExQw
'' SIG '' pCCo4D/onHLcfvPYDCO6qC2qPPbsn4cxB2X1OadRgnXh
'' SIG '' 8i+X9tHhZZaDZP6hHVH7tSSb9dJ3abyFLFz6WHfRrqex
'' SIG '' C+LWd7uptDRKqW899PMNlV3m+XpFsCUXMS7b9w9o5oMf
'' SIG '' qffl1J2YjNNhSy/DKH563pMOtH2gCm2SxLRmP32nWO6s
'' SIG '' 9+zDCAGrOPwKHKnFl7KIyAkCGfZcmhrxTWww1LMGqwBg
'' SIG '' SA14q88XrZKTYiB3dWy9yDK03E3r2d/BkJYpvcF/MIIG
'' SIG '' 6DCCBNCgAwIBAgIQd70OBbdZC7YdR2FTHj917TANBgkq
'' SIG '' hkiG9w0BAQsFADBTMQswCQYDVQQGEwJCRTEZMBcGA1UE
'' SIG '' ChMQR2xvYmFsU2lnbiBudi1zYTEpMCcGA1UEAxMgR2xv
'' SIG '' YmFsU2lnbiBDb2RlIFNpZ25pbmcgUm9vdCBSNDUwHhcN
'' SIG '' MjAwNzI4MDAwMDAwWhcNMzAwNzI4MDAwMDAwWjBcMQsw
'' SIG '' CQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBu
'' SIG '' di1zYTEyMDAGA1UEAxMpR2xvYmFsU2lnbiBHQ0MgUjQ1
'' SIG '' IEVWIENvZGVTaWduaW5nIENBIDIwMjAwggIiMA0GCSqG
'' SIG '' SIb3DQEBAQUAA4ICDwAwggIKAoICAQDLIO+XHrkBMkOg
'' SIG '' W6mKI/0gXq44EovKLNT/QdgaVdQZU7f9oxfnejlcwPfO
'' SIG '' EaP5pe0B+rW6k++vk9z44rMZTIOwSkRQBHiEEGqk1paQ
'' SIG '' joH4fKsvtaNXM9JYe5QObQ+lkSYqs4NPcrGKe2SS0PC0
'' SIG '' VV+WCxHlmrUsshHPJRt9USuYH0mjX/gTnjW4AwLapBMv
'' SIG '' hUrvxC9wDsHUzDMS7L1AldMRyubNswWcyFPrUtd4TFEB
'' SIG '' koLeE/MHjnS6hICf0qQVDuiv6/eJ9t9x8NG+p7JBMyB1
'' SIG '' zLHV7R0HGcTrJnfyq20Xk0mpt+bDkJzGuOzMyXuaXsXF
'' SIG '' JJNjb34Qi2HPmFWjJKKINvL5n76TLrIGnybADAFWEuGy
'' SIG '' ip8OHtyYiy7P2uKJNKYfJqCornht7KGIFTzC6u632K1h
'' SIG '' pa9wNqJ5jtwNc8Dx5CyrlOxYBjk2SNY7WugiznQOryzx
'' SIG '' FdrRtJXorNVJbeWv3ZtrYyBdjn47skPYYjqU5c20mLM3
'' SIG '' GSQScnOrBLAJ3IXm1CIE70AqHS5tx2nTbrcBbA3gl6cW
'' SIG '' 5iaLiPcDRIZfYmdMtac3qFXcAzaMbs9tNibxDo+wPXHA
'' SIG '' 4TKnguS2MgIyMHy1k8gh/TyI5mlj+O51yYvCq++6Ov3p
'' SIG '' Xr+2EfG+8D3KMj5ufd4PfpuVxBKH5xq4Tu4swd+hZegk
'' SIG '' g8kqwv25UwIDAQABo4IBrTCCAakwDgYDVR0PAQH/BAQD
'' SIG '' AgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMBIGA1UdEwEB
'' SIG '' /wQIMAYBAf8CAQAwHQYDVR0OBBYEFCWd0PxZCYZjxezz
'' SIG '' sRM7VxwDkjYRMB8GA1UdIwQYMBaAFB8Av0aACvx4Obel
'' SIG '' tEPZVlC7zpY7MIGTBggrBgEFBQcBAQSBhjCBgzA5Bggr
'' SIG '' BgEFBQcwAYYtaHR0cDovL29jc3AuZ2xvYmFsc2lnbi5j
'' SIG '' b20vY29kZXNpZ25pbmdyb290cjQ1MEYGCCsGAQUFBzAC
'' SIG '' hjpodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2Nh
'' SIG '' Y2VydC9jb2Rlc2lnbmluZ3Jvb3RyNDUuY3J0MEEGA1Ud
'' SIG '' HwQ6MDgwNqA0oDKGMGh0dHA6Ly9jcmwuZ2xvYmFsc2ln
'' SIG '' bi5jb20vY29kZXNpZ25pbmdyb290cjQ1LmNybDBVBgNV
'' SIG '' HSAETjBMMEEGCSsGAQQBoDIBAjA0MDIGCCsGAQUFBwIB
'' SIG '' FiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBv
'' SIG '' c2l0b3J5LzAHBgVngQwBAzANBgkqhkiG9w0BAQsFAAOC
'' SIG '' AgEAJXWgCck5urehOYkvGJ+r1usdS+iUfA0HaJscne9x
'' SIG '' thdqawJPsz+GRYfMZZtM41gGAiJm1WECxWOP1KLxtl4l
'' SIG '' C3eW6c1xQDOIKezu86JtvE21PgZLyXMzyggULT1M6LC6
'' SIG '' daZ0LaRYOmwTSfilFQoUloWxamg0JUKvllb0EPokffEr
'' SIG '' csEW4Wvr5qmYxz5a9NAYnf10l4Z3Rio9I30oc4qu7ysb
'' SIG '' mr9sU6cUnjyHccBejsj70yqSM+pXTV4HXsrBGKyBLRoh
'' SIG '' +m7Pl2F733F6Ospj99UwRDcy/rtDhdy6/KbKMxkrd23b
'' SIG '' ywXwfl91LqK2vzWqNmPJzmTZvfy8LPNJVgDIEivGJ7s3
'' SIG '' r1fvxM8eKcT04i3OKmHPV+31CkDi9RjWHumQL8rTh1+T
'' SIG '' ikgaER3lN4WfLmZiml6BTpWsVVdD3FOLJX48YQ+KC7r1
'' SIG '' P6bXjvcEVl4hu5/XanGAv5becgPY2CIr8ycWTzjoUUAM
'' SIG '' rpLvvj1994DGTDZXhJWnhBVIMA5SJwiNjqK9IscZyabK
'' SIG '' Dqh6NttqumFfESSVpOKOaO4ZqUmZXtC0NL3W+UDHEJcx
'' SIG '' Ujk1KRGHJNPE+6ljy3dI1fpi/CTgBHpO0ORu3s6eOFAm
'' SIG '' 9CFxZdcJJdTJBwB6uMfzd+jF1OJV0NMe9n9S4kmNuRFy
'' SIG '' DIhEJjNmAUTf5DMOId5iiUgH2vUwggggMIIGCKADAgEC
'' SIG '' AgxPvxGqwvfhAnYbJVQwDQYJKoZIhvcNAQELBQAwXDEL
'' SIG '' MAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24g
'' SIG '' bnYtc2ExMjAwBgNVBAMTKUdsb2JhbFNpZ24gR0NDIFI0
'' SIG '' NSBFViBDb2RlU2lnbmluZyBDQSAyMDIwMB4XDTI0MDQw
'' SIG '' NDEyMzAyMVoXDTI3MDQwNTEyMzAyMVowggFlMR0wGwYD
'' SIG '' VQQPDBRQcml2YXRlIE9yZ2FuaXphdGlvbjETMBEGA1UE
'' SIG '' BRMKSFJCIDMzNzUzMTETMBEGCysGAQQBgjc8AgEDEwJE
'' SIG '' RTEjMCEGCysGAQQBgjc8AgECExJCYWRlbi1XdWVydHRl
'' SIG '' bWJlcmcxGTAXBgsrBgEEAYI3PAIBARMITWFubmhlaW0x
'' SIG '' CzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbi1XdWVy
'' SIG '' dHRlbWJlcmcxEjAQBgNVBAcTCUJhbW1lbnRhbDEcMBoG
'' SIG '' A1UECQwTSW5kdXN0cmllc3RyYcOfZSA4NDEdMBsGA1UE
'' SIG '' ChMUSGlja2VsU09GVCBIdXRoIEdtYkgxHTAbBgNVBAsT
'' SIG '' FFNvZnR3YXJlLUVudHdpY2tsdW5nMR0wGwYDVQQDExRI
'' SIG '' aWNrZWxTT0ZUIEh1dGggR21iSDEhMB8GCSqGSIb3DQEJ
'' SIG '' ARYSaW5mb0BoaWNrZWxzb2Z0LmRlMIICIjANBgkqhkiG
'' SIG '' 9w0BAQEFAAOCAg8AMIICCgKCAgEA8vkxCKvLGZeylXrZ
'' SIG '' qHCcEjmdQ9uOn+RM4zYILJCp5djjF9ywjxJgVBHm74fx
'' SIG '' 4y8nekwQvIHugXQQXtzjAzo2+yuO1x7LTay1oHuUtHDz
'' SIG '' yL5PZvF2VQeaLP2eXANMENe9jtN1BBd9ajZdgNpkuLX5
'' SIG '' Uis4IOrioo5oogkrLyIw3Ii2atNltBDylx2xSiE2MYZa
'' SIG '' IAijFLC+3ifYdjR9mTTcEyC0JMu7O4HYwIvsd3n1TpxJ
'' SIG '' fopCj8Csw+BJVKCdMQP3+ik6FdbQJ/JzsQJhL41To4jg
'' SIG '' BzOOH6W22UwP1RCljaUZqtmSICkWlfU0UqqtMyNOXjgA
'' SIG '' s/NlrKUxMk0AF48FtuKC5oBksfLyjlT/kunUHKJegy+g
'' SIG '' 4sX/1AQtncxbAB9glFvNVbfE2bLLiMGxSYKN0lp1x+FX
'' SIG '' NfE0eDjOtCXrrKMf3yOPrRRDS7v7dMxLKGyhk4PkJ3zr
'' SIG '' Wr7CsZ7MLtjcxIKfZhp0MlvM7CdFrMnqQEho/vH+fu9A
'' SIG '' NHN6jQ2difMRAO7S9LYJJIC8WRSYI7z0AOCS2jfvhOzP
'' SIG '' C4Sjh4Z455WdauTRdeb2hiYeLKMWmxQpsyavLOKuojC0
'' SIG '' LVcuozytdN7UKvFT2cdSu1ripMTulXwdn33MXabi9lyR
'' SIG '' HFL5OeaPdTE/inQnfBJcs0ERmQqjs2ikGMhM2N8wXaG6
'' SIG '' bcxUqOECAwEAAaOCAdUwggHRMA4GA1UdDwEB/wQEAwIH
'' SIG '' gDCBnwYIKwYBBQUHAQEEgZIwgY8wTAYIKwYBBQUHMAKG
'' SIG '' QGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2Fj
'' SIG '' ZXJ0L2dzZ2NjcjQ1ZXZjb2Rlc2lnbmNhMjAyMC5jcnQw
'' SIG '' PwYIKwYBBQUHMAGGM2h0dHA6Ly9vY3NwLmdsb2JhbHNp
'' SIG '' Z24uY29tL2dzZ2NjcjQ1ZXZjb2Rlc2lnbmNhMjAyMDBV
'' SIG '' BgNVHSAETjBMMEEGCSsGAQQBoDIBAjA0MDIGCCsGAQUF
'' SIG '' BwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9y
'' SIG '' ZXBvc2l0b3J5LzAHBgVngQwBAzAJBgNVHRMEAjAAMEcG
'' SIG '' A1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly9jcmwuZ2xvYmFs
'' SIG '' c2lnbi5jb20vZ3NnY2NyNDVldmNvZGVzaWduY2EyMDIw
'' SIG '' LmNybDAdBgNVHREEFjAUgRJpbmZvQGhpY2tlbHNvZnQu
'' SIG '' ZGUwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHwYDVR0jBBgw
'' SIG '' FoAUJZ3Q/FkJhmPF7POxEztXHAOSNhEwHQYDVR0OBBYE
'' SIG '' FFAtcdoxm28o1TgXjeUYaWBpn4OxMA0GCSqGSIb3DQEB
'' SIG '' CwUAA4ICAQCawBRTZdPb34hRcDeA3zifH1aOIbeckeGv
'' SIG '' FIJndisYv5rFTRy5IdQBCo0y1EiA5P4ICLsknK+ELLju
'' SIG '' 2nQHDIcPxZIheVWoUaLO3A1syPOK9p+MUeBsd4uonLEM
'' SIG '' 70pTplNbyb7TxD2qP0eTp7gj41PdKtJUUns9pTTlhjeR
'' SIG '' P5C2iI1YNFo3yLvMo4jCzm85MA/yExljSUnFth3FRD+G
'' SIG '' jq4cT4GoQp+PbZb8p3F26RlNnQxo3TZtpwRMYx5s0AV1
'' SIG '' Bu4sbhWatwwA9LTxsWaAkCGLRt0NicEhvBQvjJFkbJCe
'' SIG '' l5yWNgFRyqEIoyp7WSeq/8uYb0m0azsZtRI8347tNlfH
'' SIG '' R1pfs1wMLMqyqkQIwz/1AFD2o2gcLnvgGrmiK6xM4U22
'' SIG '' w/EMQzeOdcQ94hqbxvHFmPKgGhcn5KE+pGYfA9Ic6caV
'' SIG '' 1C7R6IbXySDwbkuAj5GOesPN//ICtcjUeoAKd7ppYMz2
'' SIG '' cAES7NbCZ/OHAXsFK3iPnq948Q4fpeeHoWK+QzqVb+qJ
'' SIG '' WXGkYxhI3U5WMomgRDdbMbcfKiIfO3kOO4XxEl3jIivV
'' SIG '' 6Y/kZ0Q2U8CGZ0vfiRLhG7a6ArJSdAZ0MmOQbxiTIOfE
'' SIG '' KGyt95Vk4IsXESEMKW9yKeEljk+OKs+zInJpdtEt6hXA
'' SIG '' Saq2kWBbPobY4BcGts+ZAZu/no0cMyhpUDGCGeYwghni
'' SIG '' AgEBMGwwXDELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEds
'' SIG '' b2JhbFNpZ24gbnYtc2ExMjAwBgNVBAMTKUdsb2JhbFNp
'' SIG '' Z24gR0NDIFI0NSBFViBDb2RlU2lnbmluZyBDQSAyMDIw
'' SIG '' AgxPvxGqwvfhAnYbJVQwDQYJYIZIAWUDBAIBBQCgfDAQ
'' SIG '' BgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK
'' SIG '' KwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYB
'' SIG '' BAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgCPdJ8dkzYajO
'' SIG '' heWpgM4nhxL8aVt8zc6mRtbyFTc83/UwDQYJKoZIhvcN
'' SIG '' AQEBBQAEggIA4Qi7Cg0mEj0wXB1XzdM+7CtdQ2884Jr8
'' SIG '' isP6OIpB48HEOQvm0JJ/37iIcrH4zejnS2ciacuOeNUR
'' SIG '' MbfuL1iI1NI7pR4q5n5ejAa99xbqEY4X2sTITbOZm+SI
'' SIG '' fOBjWL3nGYcliqSbWjj3koc3YOJIUnyKKtN12z2SkIGG
'' SIG '' aL01xWhdh2JYWDzyZW4ZhbaDbe477sLLJvLDTDzkddYD
'' SIG '' sC54zpafIHjuQqOFfxZ94nLRigyH4giPRVpBb0Bz59Yv
'' SIG '' rg7pYGF++63mO6oEaUYCYI5vvA1tAqlnsSa/yojP42aS
'' SIG '' kN3TKxxCQbnYjx7XvpVsx/O1oc+2CmorqswoXt4jTmuX
'' SIG '' tWfqyWo31ziVo+RdDnfyx5yvGAz+280+CaRI6sM5S643
'' SIG '' Hul/oQ2n0cECnG7WIH9RkjnJ8tlP0V9Z48QlPdfwKS6x
'' SIG '' Sbh2JZeIzhE2Zbp3oDJMfqI2ajiIPYkmwtut/A2NPwp5
'' SIG '' yooluOEGCT1EaBv6b+uPKXXPc1i5tdPYqTrP21wOBCRk
'' SIG '' a1pUKOajlDrnym31443gOGzP5d71nVnVvBe4PSjs8ptU
'' SIG '' ceLVY25NsqOXxkuJ9vidvg312xhKSrxiJWZr9u4ELOO3
'' SIG '' JNZmp/gUzWHziiyLfFAXcuvXLCDkkmJa8ApcDKwj8B0i
'' SIG '' 5pfxidU9YGFAAX0Ep8OrIgUOVMsZj/cLMEOhghbNMIIW
'' SIG '' yQYKKwYBBAGCNwMDATGCFrkwgha1BgkqhkiG9w0BBwKg
'' SIG '' ghamMIIWogIBAzENMAsGCWCGSAFlAwQCATCB6AYLKoZI
'' SIG '' hvcNAQkQAQSggdgEgdUwgdICAQEGCysGAQQBoDICAwEC
'' SIG '' MDEwDQYJYIZIAWUDBAIBBQAEIFn+j/HySvb/5LrEzEQi
'' SIG '' gIRtZKMv/8uj/Xu63s54S5F5AhQ/prowt0AjI3zJVllO
'' SIG '' WdPssYN24hgPMjAyNDA0MDUyMzA1MjZaMAMCAQGgYaRf
'' SIG '' MF0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKDBBHbG9iYWxT
'' SIG '' aWduIG52LXNhMTMwMQYDVQQDDCpHbG9iYWxzaWduIFRT
'' SIG '' QSBmb3IgQ29kZVNpZ24xIC0gUjYgLSAyMDIzMTGgghJU
'' SIG '' MIIGbDCCBFSgAwIBAgIQAZvq3shNa4/3bDqfLgEkFjAN
'' SIG '' BgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJCRTEZMBcG
'' SIG '' A1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8GA1UEAxMo
'' SIG '' R2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBTSEEz
'' SIG '' ODQgLSBHNDAeFw0yMzExMDcxNzEzNDBaFw0zNDEyMDkx
'' SIG '' NzEzNDBaMF0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKDBBH
'' SIG '' bG9iYWxTaWduIG52LXNhMTMwMQYDVQQDDCpHbG9iYWxz
'' SIG '' aWduIFRTQSBmb3IgQ29kZVNpZ24xIC0gUjYgLSAyMDIz
'' SIG '' MTEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB
'' SIG '' gQDqhDdQaDyVhbVIVHGX84RyyZ2A0wjcWbu/y02QaUeJ
'' SIG '' 5SzY8ahqfmA3SXObuJizFODvjJNwILX1K9dmBXU/eoRQ
'' SIG '' qVIP4Nbnb9QcNS7gLykko453JSfguPN9ZHUMmkLlxp3i
'' SIG '' 2Idzi++gjZd+FqDEskbPYMbPD4FQgN1P6eRGojSnPhjH
'' SIG '' a7S2+77aqVZ+f5xdNj1jNCFLyNKjExo+L1Fodfl//HCE
'' SIG '' EWUzErNGZSiEoDPAkp3tuB+JY9AeeyxbsAT0vXJjzrAx
'' SIG '' IQECanKyIizv6yo7ENXxmvQmoiz8UwEEeSNpUdNdvnOE
'' SIG '' y5uDiG0g0iDOgatqIkt5kELmgkKvA+vU0NqDesMtSPHN
'' SIG '' RZG3EUHdF+9A/BKissBZqlSXTm3Det2GhtQ7N0c46AM8
'' SIG '' Mb9MM3tD7PDQ/2Wmn5g90sa6WSJsEFgRxQTM6KKYsB0z
'' SIG '' 0POVHfjtcbQLQdVkeaK8YC7DesnecDcSFj4Cj104EbAE
'' SIG '' iWeLpS0g27jW9Zz1D7yIvycsw/kgosECAwEAAaOCAagw
'' SIG '' ggGkMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAK
'' SIG '' BggrBgEFBQcDCDAdBgNVHQ4EFgQU+U6rvrj4W//CxwP0
'' SIG '' Qe6c+NZ0fT8wVgYDVR0gBE8wTTAIBgZngQwBBAIwQQYJ
'' SIG '' KwYBBAGgMgEeMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v
'' SIG '' d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAwG
'' SIG '' A1UdEwEB/wQCMAAwgZAGCCsGAQUFBwEBBIGDMIGAMDkG
'' SIG '' CCsGAQUFBzABhi1odHRwOi8vb2NzcC5nbG9iYWxzaWdu
'' SIG '' LmNvbS9jYS9nc3RzYWNhc2hhMzg0ZzQwQwYIKwYBBQUH
'' SIG '' MAKGN2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20v
'' SIG '' Y2FjZXJ0L2dzdHNhY2FzaGEzODRnNC5jcnQwHwYDVR0j
'' SIG '' BBgwFoAU6hbGaefjy1dFOTOk8EC+0MO9ZZYwQQYDVR0f
'' SIG '' BDowODA2oDSgMoYwaHR0cDovL2NybC5nbG9iYWxzaWdu
'' SIG '' LmNvbS9jYS9nc3RzYWNhc2hhMzg0ZzQuY3JsMA0GCSqG
'' SIG '' SIb3DQEBCwUAA4ICAQCV9GfPk5pDkoMXdtYgVbyJ/+Rf
'' SIG '' suUVGreXEUAuAEG+xT8koBtHBzMETLS0Yv/G7tMMwjSg
'' SIG '' lFw3mOtE+F/4JwoCvh7RJB0jyy8cqyd6s6nFLwzk5ZDw
'' SIG '' FSQeoxUZ+O+D6E+7aJ4jb309DXFwYTJ8Rm7yj9Gc6ENN
'' SIG '' +oPh/8TgPv7eV98Ga/NqBoFoqwx8KvePQv/Ac2nbHKcW
'' SIG '' TyYZWHPtlF7kGqIQggcyO8qev905ddS8i1Q/flCVNJ+S
'' SIG '' OSRTGINQ1FsvZrR7/lsp6x7FBf2jPfuhsPMreQ+xS6zD
'' SIG '' o9mj3CycKyOW9noqu63FV7aEtmOzYJgR7MbWZm8igxyK
'' SIG '' WAP0j+ycTtDf7s5hIdO1lVRJOyFRPaEjhZLCW/J6lISY
'' SIG '' Co8kViKKBPq0molINfhv64GGEVPAk3s6tNQ0zGLWNWGO
'' SIG '' plD7iHQe1zE1IR4Rv6ujZFOOVOJzZqT7ZmPhN8nEa/sr
'' SIG '' M4sRw3SQgYPIT4bK3UqX236QUCWhYeyGmzZSB8s+YlXs
'' SIG '' M6bluBr63SQuDPkyiTFqNZX+9tH/F4quIwkrIa5i7vfu
'' SIG '' N+ewybMV7Xaat/3n/uFo3kTBCnThlchX+xTrHlrflnXF
'' SIG '' ZRn39NWNIa9jtuv04hdGn7fXB25qnSv+6dJxTtK+T2LT
'' SIG '' SdZgX0DjdpkgRNhKXLNdGtniqr9NWQAXnmBnOkcSoDCC
'' SIG '' BlkwggRBoAMCAQICDQHsHJJA3v0uQF18R3QwDQYJKoZI
'' SIG '' hvcNAQEMBQAwTDEgMB4GA1UECxMXR2xvYmFsU2lnbiBS
'' SIG '' b290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24x
'' SIG '' EzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTgwNjIwMDAw
'' SIG '' MDAwWhcNMzQxMjEwMDAwMDAwWjBbMQswCQYDVQQGEwJC
'' SIG '' RTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8G
'' SIG '' A1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0Eg
'' SIG '' LSBTSEEzODQgLSBHNDCCAiIwDQYJKoZIhvcNAQEBBQAD
'' SIG '' ggIPADCCAgoCggIBAPAC4jAj+uAb4Zp0s691g1+pR1LH
'' SIG '' YTpjfDkjeW10/DHkdBIZlvrOJ2JbrgeKJ+5Xo8Q17bM0
'' SIG '' x6zDDOuAZm3RKErBLLu5cPJyroz3mVpddq6/RKh8QSSO
'' SIG '' j7rFT/82QaunLf14TkOI/pMZF9nuMc+8ijtuasSI8O6X
'' SIG '' 9tzzGKBLmRwOh6cm4YjJoOWZ4p70nEw/XVvstu/SZc9F
'' SIG '' C1Q9sVRTB4uZbrhUmYqoMZI78np9/A5Y34Fq4bBsHmWC
'' SIG '' KtQhx5T+QpY78Quxf39GmA6HPXpl69FWqS69+1g9tYX6
'' SIG '' U5lNW3TtckuiDYI3GQzQq+pawe8P1Zm5P/RPNfGcD9M3
'' SIG '' E1LZJTTtlu/4Z+oIvo9Jev+QsdT3KRXX+Q1d1odDHnTE
'' SIG '' cCi0gHu9Kpu7hOEOrG8NubX2bVb+ih0JPiQOZybH/LIN
'' SIG '' oJSwspTMe+Zn/qZYstTYQRLBVf1ukcW7sUwIS57UQgZv
'' SIG '' GxjVNupkrs799QXm4mbQDgUhrLERBiMZ5PsFNETqCK6d
'' SIG '' SWcRi4LlrVqGp2b9MwMB3pkl+XFu6ZxdAkxgPM8CjwH9
'' SIG '' cu6S8acS3kISTeypJuV3AqwOVwwJ0WGeJoj8yLJN22Tw
'' SIG '' RZ+6wT9Uo9h2ApVsao3KIlz2DATjKfpLsBzTN3SE2R1m
'' SIG '' qzRzjx59fF6W1j0ZsJfqjFCRba9Xhn4QNx1rGhTfAgMB
'' SIG '' AAGjggEpMIIBJTAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0T
'' SIG '' AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU6hbGaefjy1dF
'' SIG '' OTOk8EC+0MO9ZZYwHwYDVR0jBBgwFoAUrmwFo5MT4qLn
'' SIG '' 4tcc1sfwf8hnU6AwPgYIKwYBBQUHAQEEMjAwMC4GCCsG
'' SIG '' AQUFBzABhiJodHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5j
'' SIG '' b20vcm9vdHI2MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
'' SIG '' Ly9jcmwuZ2xvYmFsc2lnbi5jb20vcm9vdC1yNi5jcmww
'' SIG '' RwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEW
'' SIG '' Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9z
'' SIG '' aXRvcnkvMA0GCSqGSIb3DQEBDAUAA4ICAQB/4ojZV2cr
'' SIG '' Ql+BpwkLusS7KBhW1ky/2xsHcMb7CwmtADpgMx85xhZr
'' SIG '' GUBJJQge5Jv31qQNjx6W8oaiF95Bv0/hvKvN7sAjjMaF
'' SIG '' /ksVJPkYROwfwqSs0LLP7MJWZR29f/begsi3n2HTtUZI
'' SIG '' mJcCZ3oWlUrbYsbQswLMNEhFVd3s6UqfXhTtchBxdnDS
'' SIG '' D5bz6jdXlJEYr9yNmTgZWMKpoX6ibhUm6rT5fyrn50hk
'' SIG '' aS/SmqFy9vckS3RafXKGNbMCVx+LnPy7rEze+t5TTIP9
'' SIG '' ErG2SVVPdZ2sb0rILmq5yojDEjBOsghzn16h1pnO6X1L
'' SIG '' lizMFmsYzeRZN4YJLOJF1rLNboJ1pdqNHrdbL4guPX3x
'' SIG '' 8pEwBZzOe3ygxayvUQbwEccdMMVRVmDofJU9IuPVCiRT
'' SIG '' J5eA+kiJJyx54jzlmx7jqoSCiT7ASvUh/mIQ7R0w/PbM
'' SIG '' 6kgnfIt1Qn9ry/Ola5UfBFg0ContglDk0Xuoyea+SKor
'' SIG '' VdmNtyUgDhtRoNRjqoPqbHJhSsn6Q8TGV8Wdtjywi7C5
'' SIG '' HDHvve8U2BRAbCAdwi3oC8aNbYy2ce1SIf4+9p+fORqu
'' SIG '' rNIveiCx9KyqHeItFJ36lmodxjzK89kcv1NNpEdZfJXE
'' SIG '' Q0H5JeIsEH6B+Q2Up33ytQn12GByQFCVINRDRL76oJXn
'' SIG '' IFm2eMakaqoimzCCBYMwggNroAMCAQICDkXmuwODM8OF
'' SIG '' ZUjm/0VRMA0GCSqGSIb3DQEBDAUAMEwxIDAeBgNVBAsT
'' SIG '' F0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQK
'' SIG '' EwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
'' SIG '' MB4XDTE0MTIxMDAwMDAwMFoXDTM0MTIxMDAwMDAwMFow
'' SIG '' TDEgMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0g
'' SIG '' UjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMT
'' SIG '' Ckdsb2JhbFNpZ24wggIiMA0GCSqGSIb3DQEBAQUAA4IC
'' SIG '' DwAwggIKAoICAQCVB+hzymb57BTKezz3DQjxtEULLIK0
'' SIG '' SMbrWzyug7hBkjMUpG9/6SrMxrCIa8W2idHGsv8UzlEU
'' SIG '' IexK3RtaxtaH7k06FQbtZGYLkoDKRN5zlE7zp4l/T3hj
'' SIG '' CMgSUG1CZi9NuXkoTVIaihqAtxmBDn7EirxkTCEcQ2jX
'' SIG '' PTyKxbJm1ZCatzEGxb7ibTIGph75ueuqo7i/voJjUNDw
'' SIG '' GInf5A959eqiHyrScC5757yTu21T4kh8jBAHOP9msndh
'' SIG '' fuDqjDyqtKT285VKEgdt/Yyyic/QoGF3yFh0sNQjOvdd
'' SIG '' Osqi250J3l1ELZDxgc1Xkvp+vFAEYzTfa5MYvms2sjnk
'' SIG '' rCQ2t/DvthwTV5O23rL44oW3c6K4NapF8uCdNqFvVIrx
'' SIG '' clZuLojFUUJEFZTuo8U4lptOTloLR/MGNkl3MLxxN+Wm
'' SIG '' 7CEIdfzmYRY/d9XZkZeECmzUAk10wBTt/Tn7g/JeFKEE
'' SIG '' sAvp/u6P4W4LsgizYWYJarEGOmWWWcDwNf3J2iiNGhGH
'' SIG '' cIEKqJp1HZ46hgUAntuA1iX53AWeJ1lMdjlb6vmlodiD
'' SIG '' D9H/3zAR+YXPM0j1ym1kFCx6WE/TSwhJxZVkGmMOeT31
'' SIG '' s4zKWK2cQkV5bg6HGVxUsWW2v4yb3BPpDW+4LtxnbsmL
'' SIG '' EbWEFIoAGXCDeZGXkdQaJ783HjIH2BRjPChMrwIDAQAB
'' SIG '' o2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
'' SIG '' AwEB/zAdBgNVHQ4EFgQUrmwFo5MT4qLn4tcc1sfwf8hn
'' SIG '' U6AwHwYDVR0jBBgwFoAUrmwFo5MT4qLn4tcc1sfwf8hn
'' SIG '' U6AwDQYJKoZIhvcNAQEMBQADggIBAIMl7ejR/ZVSzZ7A
'' SIG '' BKCRaeZc0ITe3K2iT+hHeNZlmKlbqDyHfAKK0W63FnPm
'' SIG '' X8BUmNV0vsHN4hGRrSMYPd3hckSWtJVewHuOmXgWQxNW
'' SIG '' V7Oiszu1d9xAcqyj65s1PrEIIaHnxEM3eTK+teecLEy8
'' SIG '' QymZjjDTrCHg4x362AczdlQAIiq5TSAucGja5VP8g1zT
'' SIG '' nfL/RAxEZvLS471GABptArolXY2hMVHdVEYcTduZlu8a
'' SIG '' HARcphXveOB5/l3bPqpMVf2aFalv4ab733Aw6cPuQkbt
'' SIG '' wpMFifp9Y3s/0HGBfADomK4OeDTDJfuvCp8ga907E48S
'' SIG '' jOJBGkh6c6B3ace2XH+CyB7+WBsoK6hsrV5twAXSe7fr
'' SIG '' gP4lN/4Cm2isQl3D7vXM3PBQddI2aZzmewTfbgZptt4K
'' SIG '' CUhZh+t7FGB6ZKppQ++Rx0zsGN1s71MtjJnhXvJyPs9U
'' SIG '' yL1n7KQPTEX/07kwIwdMjxC/hpbZmVq0mVccpMy7FYlT
'' SIG '' uiwFD+TEnhmxGDTVTJ267fcfrySVBHioA7vugeXaX3yL
'' SIG '' SqGQdCWnsz5LyCxWvcfI7zjiXJLwefechLp0LWEBIH5+
'' SIG '' 0fJPB1lfiy1DUutGDJTh9WZHeXfVVFsfrSQ3y0VaTqBE
'' SIG '' SMjYsJnFFYQJ9tZJScBluOYacW6gqPGC6EU+bNYC1wpn
'' SIG '' gwVayaQQMYIDSTCCA0UCAQEwbzBbMQswCQYDVQQGEwJC
'' SIG '' RTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8G
'' SIG '' A1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0Eg
'' SIG '' LSBTSEEzODQgLSBHNAIQAZvq3shNa4/3bDqfLgEkFjAL
'' SIG '' BglghkgBZQMEAgGgggEtMBoGCSqGSIb3DQEJAzENBgsq
'' SIG '' hkiG9w0BCRABBDArBgkqhkiG9w0BCTQxHjAcMAsGCWCG
'' SIG '' SAFlAwQCAaENBgkqhkiG9w0BAQsFADAvBgkqhkiG9w0B
'' SIG '' CQQxIgQgbVuDnLMDWeMhYUHuj5Uj7eGRba0o8pOIhyK5
'' SIG '' I/3ykxswgbAGCyqGSIb3DQEJEAIvMYGgMIGdMIGaMIGX
'' SIG '' BCA6iHqVG165Kl7hT2y7doI3pUXQEFvwRRG94l+CqRbR
'' SIG '' 6DBzMF+kXTBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQ
'' SIG '' R2xvYmFsU2lnbiBudi1zYTExMC8GA1UEAxMoR2xvYmFs
'' SIG '' U2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBTSEEzODQgLSBH
'' SIG '' NAIQAZvq3shNa4/3bDqfLgEkFjANBgkqhkiG9w0BAQsF
'' SIG '' AASCAYBq7ElreFcrXebSLlT6rXxhouRGTMZR5iMB9lpw
'' SIG '' a8RvCIh+yJfsTVjIMEh8nXtYMOhCsTrwEt3t5iVZe5fm
'' SIG '' zMwWqzgvdig5J3pQlRtttRk9sRtIJP5frkg9u2vvEkg5
'' SIG '' pvJMJ4dgj7kjPyFnC0UW2nwmWZwX/8gmmsuFKnOxHG9Y
'' SIG '' JKBf9jkP4aJBxAO+Ji0QKMdugi+6KdGyBM4IE8rQYUt5
'' SIG '' 77+VtuTKPXJrKNGY2bpuiCYMABwQd6bL0BVRuMObzudO
'' SIG '' 7HxCFpKyy8IUrCbQ6f4QPE7J1KpScVyI4m6QZnBZ74aQ
'' SIG '' x71i5PZn7UH3XAQQlHYN6pHj9EwfnD3Y7H8e8Y1JJYdJ
'' SIG '' ncb2kNgcD00JPb5RbaLWv6cwiUzuF84vjgx0fQeV3hJV
'' SIG '' grRx5CsqyA7KFJUUX3XjABhtZGMxs6NZFEVoHxCHpxDL
'' SIG '' hwtq8UDGhWuUWG12b1waxPLGnGUTlhhyqi98L1CB6/p9
'' SIG '' P16+w8tyXcsLsezhgcA51b7m02O7jvs0d5k=
'' SIG '' End signature block
/trunk/MessageTable/EventlogMessages.h
0,0 → 1,79
// ***** ViaThinkSoftSimpleMessage.mc *****
// This is the header section.
// The following are message definitions.
//
// Values are 32 bit values laid out as follows:
//
// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
// +---+-+-+-----------------------+-------------------------------+
// |Sev|C|R| Facility | Code |
// +---+-+-+-----------------------+-------------------------------+
//
// where
//
// Sev - is the severity code
//
// 00 - Success
// 01 - Informational
// 10 - Warning
// 11 - Error
//
// C - is the Customer code flag
//
// R - is a reserved bit
//
// Facility - is the facility code
//
// Code - is the facility's status code
//
//
// Define the facility codes
//
 
 
//
// Define the severity codes
//
#define STATUS_SEVERITY_SUCCESS 0x0
#define STATUS_SEVERITY_INFORMATIONAL 0x1
#define STATUS_SEVERITY_WARNING 0x2
#define STATUS_SEVERITY_ERROR 0x3
 
 
//
// MessageId: MSG_SUCCESS
//
// MessageText:
//
// Success: %1
//
#define MSG_SUCCESS ((DWORD)0x20000000L)
 
//
// MessageId: MSG_INFORMATIONAL
//
// MessageText:
//
// Info: %1
//
#define MSG_INFORMATIONAL ((DWORD)0x60000001L)
 
//
// MessageId: MSG_WARNING
//
// MessageText:
//
// Warning: %1
//
#define MSG_WARNING ((DWORD)0xA0000002L)
 
//
// MessageId: MSG_ERROR
//
// MessageText:
//
// Error: %1
//
#define MSG_ERROR ((DWORD)0xE0000003L)
 
/trunk/MessageTable/EventlogMessages.mc
0,0 → 1,78
; // ***** ViaThinkSoftSimpleMessage.mc *****
; // This is the header section.
 
MessageIdTypedef=DWORD
 
SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
Warning=0x2:STATUS_SEVERITY_WARNING
Error=0x3:STATUS_SEVERITY_ERROR
)
 
FacilityNames=(
SimpleMessage=0x0
)
 
LanguageNames=(
Neutral=0x0:MSG00000
German=0x407:MSG00407
English=0x409:MSG00409
)
 
; // The following are message definitions.
 
MessageId=0x0
Severity=Success
Facility=SimpleMessage
SymbolicName=MSG_SUCCESS
Language=English
Success: %1
.
Language=German
Erfolg: %1
.
Language=Neutral
[OK] %1
.
 
MessageId=0x1
Severity=Informational
Facility=SimpleMessage
SymbolicName=MSG_INFORMATIONAL
Language=English
Info: %1
.
Language=German
Info: %1
.
Language=Neutral
[i] %1
.
 
MessageId=0x2
Severity=Warning
Facility=SimpleMessage
SymbolicName=MSG_WARNING
Language=English
Warning: %1
.
Language=German
Warnung: %1
.
Language=Neutral
[!] %1
.
 
MessageId=0x3
Severity=Error
Facility=SimpleMessage
SymbolicName=MSG_ERROR
Language=English
Error: %1
.
Language=German
Fehler: %1
.
Language=Neutral
[X] %1
.
/trunk/MessageTable/EventlogMessages.rc
0,0 → 1,6
LANGUAGE 0x9,0x1
1 11 "MSG00409.bin"
LANGUAGE 0x0,0x0
1 11 "MSG00000.bin"
LANGUAGE 0x7,0x1
1 11 "MSG00407.bin"
/trunk/MessageTable/EventlogMessages.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/MessageTable/EventlogMessagesCompile.bat
0,0 → 1,17
@echo on
 
del EventlogMessages.rc
del EventlogMessages.res
del MSG*.bin
 
rem MC => RC+BIN
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mc.exe" -c EventlogMessages.mc
rem "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mc.exe" EventlogMessages.mc
 
rem RC => RES
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\rc.exe" EventlogMessages.rc
 
rem RES => DLL
rem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\bin\Hostx64\x64\link.exe" /dll /noentry /machine:x86 EventlogMessages.res
 
pause.
/trunk/MessageTable/MSG00000.bin
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/MessageTable/MSG00407.bin
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/MessageTable/MSG00409.bin
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/README.md
0,0 → 1,140
 
What is "ViaThinkSoft Simple Log Event"?
----------------------------------------
 
ViaThinkSoftSimpleLogEvent offers a COM interface for easily
logging things into the Windows Event Log.
 
Using a COM interface enables some applications which cannot
call arbitary DLL functions (like PHP) to write to the Event Log.
 
Additionally, ViaThinkSoftSimpleLogEvent registeres a "Log Event Provider"
which will prevent the message "The description for Event ID ... from source ... cannot be found"
that would show up if you would call the WinAPI function "ReportEvent"
without MessageTable/Provider.
 
 
Distribution to the end user
----------------------------
 
You only need to deploy SimpleLogEventSetup.exe
which is located in the folder "Setup".
 
The EXE file contains everything inside:
- 32 bit and 64 bit DLL (will be unpacked to target location)
- Registration procedure for COM/Typelib
- Registration procedure for SourceNames
 
 
Installation
------------
 
Copy the following files in a path of your choice:
 
- Register.bat
- UnRegister.bat
- ViaThinkSoftSimpleLogEvent32.dll
- ViaThinkSoftSimpleLogEvent64.dll
 
Run Register.bat as administrator (right click on the batch file).
 
Please do not move the DLL files after they were registered;
otherwise you need to re-register them.
 
If you want to use ViaThinkSoftSimpleLogEvent with PHP, you need to change
following settings in your PHP.ini:
 
extension_dir = "ext"
extension=com_dotnet
 
 
Example usage with VBScript
---------------------------
 
Dim objMyObject
 
set objMyObject = CreateObject("ViaThinkSoftSimpleLogEvent.ViaThinkSoftSimpleEventLog")
 
const LOGEVENT_MSG_SUCCESS = 0
const LOGEVENT_MSG_INFORMATIONAL = 1
const LOGEVENT_MSG_WARNING = 2
const LOGEVENT_MSG_ERROR = 3
 
objMyObject.LogEvent "MySourceName", LOGEVENT_MSG_WARNING, "This is a test warning written by VBS"
 
 
Example usage with PHP
----------------------
 
define('CLASS_ViaThinkSoftSimpleEventLog', '{E4270053-A217-498C-B395-9EF33187E8C2}');
 
define('LOGEVENT_MSG_SUCCESS', 0);
define('LOGEVENT_MSG_INFORMATIONAL', 1);
define('LOGEVENT_MSG_WARNING', 2);
define('LOGEVENT_MSG_ERROR', 3);
 
$x = new COM(CLASS_ViaThinkSoftSimpleEventLog);
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by PHP');
 
 
Example usage with Delphi
-------------------------
 
uses
ActiveX,
ViaThinkSoftSimpleLogEvent_TLB;
 
procedure LogTest;
var
x: IViaThinkSoftSimpleEventLog;
begin
CoInitialize(nil); // needs to be called only once
x := CoViaThinkSoftSimpleEventLog.Create;
x.LogEvent('MySourceName', ViaThinkSoftSimpleLogEvent_TLB.Warning, 'This is a test warning written by Delphi');
x := nil;
end;
 
 
A short note about the compilation workflow (for developers)
-------------------------------------------
 
This only applies if you want to change/extend/fork ViaThinkSoftSimpleEventLog yourself.
You do not need this if you just want to use ViaThinkSoftSimpleEventLog to log events.
 
1. In folder "MessageTable":
Run "EventlogMessagesCompile.bat", it will do:
- MC file => RC+BIN files (using "mc.exe" from Windows SDK)
- RC+BIN files => RES file (using "rc.exe")
2. In folder "TLB":
Compile using Delphi (it will include the MessageTable RES file):
- ViaThinkSoftSimpleLogEvent32.dll
- ViaThinkSoftSimpleLogEvent64.dll
 
3. In folder "Setup":
3.1 Run "DllResCompile.bat", it will do:
- RC file => RES file (will include the two DLLs from folder "TLB")
3.2 Then, compile SimpleLogEventSetup.exe using Delphi
 
4. In folder "LogTestUsingDelphi":
Compile LogWriteTestDelphi*.exe using Delphi
(it will read "ViaThinkSoftSimpleLogEvent_TLB.pas" from the "TLB" folder)
 
 
License
-------
 
ViaThinkSoft Simple Log Event
Copyright 2020 Daniel Marschall, ViaThinkSoft
 
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
http://www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
/trunk/Setup/DelWaste.bat
0,0 → 1,8
@echo off
 
rd /s /q "%~dp0\__history"
rd /s /q "%~dp0\__recovery"
del "%~dp0*.dcu"
del "%~dp0*.rsm"
del "%~dp0*.local"
del "%~dp0*.identcache"
/trunk/Setup/DllRes.RES
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Setup/DllRes.rc
0,0 → 1,2
32 DLL "..\\TLB\\ViaThinkSoftSimpleLogEvent32.dll"
64 DLL "..\\TLB\\ViaThinkSoftSimpleLogEvent64.dll"
/trunk/Setup/DllResCompile.bat
0,0 → 1,8
@echo on^
 
del DllRes.RES
 
rem RC => RES
rc DllRes.rc
 
pause.
/trunk/Setup/ManualEventSourceRegistration.reg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Setup/SimpleLogEventSetup.dpr
0,0 → 1,14
program SimpleLogEventSetup;
 
uses
Vcl.Forms,
SimpleLogEventSetupMain in 'SimpleLogEventSetupMain.pas' {Form1};
 
{$R *.res}
 
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
/trunk/Setup/SimpleLogEventSetup.dproj
0,0 → 1,986
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{28637C2A-04A6-4A3C-9993-64995E454E56}</ProjectGuid>
<ProjectVersion>18.8</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>SimpleLogEventSetup.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Application</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_E>false</DCC_E>
<DCC_N>false</DCC_N>
<DCC_S>false</DCC_S>
<DCC_F>false</DCC_F>
<DCC_K>false</DCC_K>
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
<Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
<VerInfo_Locale>1031</VerInfo_Locale>
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=(C) 2020 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=www.viathinksoft.com</VerInfo_Keys>
<SanitizedProjectName>SimpleLogEventSetup</SanitizedProjectName>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;svn;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;SynEditDR;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<Icon_MainIcon>SimpleLogEventSetup_Icon.ico</Icon_MainIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;SynEditDR;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<DCC_RemoteDebug>false</DCC_RemoteDebug>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_DebugInformation>0</DCC_DebugInformation>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=(C) 2020 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=www.viathinksoft.com</VerInfo_Keys>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="SimpleLogEventSetupMain.pas">
<Form>Form1</Form>
<FormType>dfm</FormType>
</DCCReference>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>Application</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">SimpleLogEventSetup.dpr</Source>
</Source>
<Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<Deployment Version="3">
<DeployFile LocalName="Win32\Debug\SimpleLogEventSetup.exe" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>SimpleLogEventSetup.exe</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="SimpleLogEventSetup.exe" Configuration="Release" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>SimpleLogEventSetup.exe</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider">
<Platform Name="Android">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiv7aFile">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStylesV21">
<Platform Name="Android">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Colors">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon144">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon24">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage640">
<Platform Name="Android">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage960">
<Platform Name="Android">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Strings">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyModule">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="DependencyPackage">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="Android64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1024x768">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1536x2048">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1668">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1668x2388">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048x1536">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048x2732">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2224">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2388x1668">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2732x2048">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch768x1024">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1125">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1136x640">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1242">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1242x2688">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1334">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1792">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2208">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2436">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2688x1242">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch320">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640x1136">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch750">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch828">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android">
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice32">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceResourceRules">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSEntitlements">
<Platform Name="iOSDevice32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSInfoPList">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXDebug">
<Platform Name="OSX64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXEntitlements">
<Platform Name="OSX32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXInfoPList">
<Platform Name="OSX32">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="ProjectOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="Linux64">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectUWPManifest">
<Platform Name="Win32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo150">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo44">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
</Deployment>
<Platforms>
<Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
</Project>
/trunk/Setup/SimpleLogEventSetup.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Setup/SimpleLogEventSetup.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Setup/SimpleLogEventSetupMain.dfm
0,0 → 1,195
object Form1: TForm1
Left = 0
Top = 0
Caption = 'ViaThinkSoft Simple Event Log Setup'
ClientHeight = 530
ClientWidth = 784
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnShow = FormShow
DesignSize = (
784
530)
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 768
Height = 209
Anchors = [akLeft, akTop, akRight]
Caption = 'Status of installation / registration'
TabOrder = 0
DesignSize = (
768
209)
object Label1: TLabel
Left = 24
Top = 29
Width = 28
Height = 13
Caption = '32-Bit'
end
object Label2: TLabel
Left = 24
Top = 80
Width = 28
Height = 13
Caption = '64-Bit'
end
object Label3: TLabel
Left = 24
Top = 142
Width = 311
Height = 13
Caption =
'The installation and registration of the DLL files has two reaso' +
'ns:'
end
object Label4: TLabel
Left = 24
Top = 161
Width = 351
Height = 13
Caption =
'1. It offers a COM Interface for applications to use in order to' +
' log events'
end
object Label5: TLabel
Left = 24
Top = 180
Width = 504
Height = 13
Caption =
'2. It is required in the definition of a "Log Event Provider" wh' +
'ich is required by the Windows Event Viewer'
end
object Edit1: TEdit
Left = 24
Top = 48
Width = 720
Height = 21
Anchors = [akLeft, akTop, akRight]
Enabled = False
TabOrder = 0
Text = 'Edit1'
end
object Button1: TButton
Left = 581
Top = 142
Width = 163
Height = 25
Anchors = [akTop, akRight]
Caption = 'Re-Install'
TabOrder = 1
OnClick = Button1Click
end
object Edit2: TEdit
Left = 24
Top = 99
Width = 720
Height = 21
Anchors = [akLeft, akTop, akRight]
Enabled = False
TabOrder = 2
Text = 'Edit1'
end
end
object GroupBox2: TGroupBox
Left = 8
Top = 232
Width = 768
Height = 290
Anchors = [akLeft, akTop, akRight, akBottom]
Caption = 'Registered Log Sources'
TabOrder = 1
DesignSize = (
768
290)
object Label6: TLabel
Left = 272
Top = 32
Width = 371
Height = 13
Caption =
'Here, you can register Log Event Source names your applications ' +
'should use.'
end
object Label7: TLabel
Left = 272
Top = 51
Width = 297
Height = 13
Caption = 'If an application logs an event with an unknown source name,'
end
object Label8: TLabel
Left = 272
Top = 70
Width = 353
Height = 13
Caption =
'you will see an error message in the Windows Event Viewer simila' +
'r to this:'
end
object Label9: TLabel
Left = 272
Top = 89
Width = 382
Height = 13
Caption =
' "The description for Event ID ... from sour' +
'ce ... cannot be found")'
end
object Label10: TLabel
Left = 272
Top = 108
Width = 461
Height = 13
Caption =
'However, the original message is still readable. But it is still' +
' more ccorrect to register the source.'
end
object ListBox1: TListBox
Left = 24
Top = 32
Width = 217
Height = 234
Anchors = [akLeft, akTop, akBottom]
ItemHeight = 13
TabOrder = 0
end
object Edit3: TEdit
Left = 353
Top = 241
Width = 136
Height = 21
Anchors = [akLeft, akBottom]
TabOrder = 1
end
object Button2: TButton
Left = 272
Top = 241
Width = 75
Height = 25
Anchors = [akLeft, akBottom]
Caption = 'Add new:'
TabOrder = 2
OnClick = Button2Click
end
object Button3: TButton
Left = 272
Top = 194
Width = 129
Height = 25
Anchors = [akLeft, akBottom]
Caption = 'Delete selected'
TabOrder = 3
OnClick = Button3Click
end
end
end
/trunk/Setup/SimpleLogEventSetupMain.pas
0,0 → 1,385
unit SimpleLogEventSetupMain;
 
interface
 
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
GroupBox2: TGroupBox;
ListBox1: TListBox;
Edit3: TEdit;
Button2: TButton;
Button3: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
found32: string;
found64: string;
procedure CheckInstallation;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
{$R DllRes.res}
 
uses
ShellApi, ShlObj, Registry;
 
Function Wow64DisableWow64FsRedirection(Var Wow64FsEnableRedirection: LongBool): LongBool; StdCall;
External 'Kernel32.dll' Name 'Wow64DisableWow64FsRedirection';
Function Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection: LongBool): LongBool; StdCall;
External 'Kernel32.dll' Name 'Wow64EnableWow64FsRedirection';
 
procedure RunAndWaitShell(Executable, Parameter: STRING; ShowParameter: INTEGER);
var
Info: TShellExecuteInfo;
pInfo: PShellExecuteInfo;
exitCode: DWord;
begin
// Source: https://www.delphipraxis.net/31067-shellexecute-wait.html
pInfo := @Info;
with Info do
begin
cbSize := SizeOf(Info);
fMask := SEE_MASK_NOCLOSEPROCESS;
wnd := application.Handle;
lpVerb := NIL;
lpFile := PChar(Executable);
lpParameters := PChar(Parameter + #0);
lpDirectory := NIL;
nShow := ShowParameter;
hInstApp := 0;
end;
ShellExecuteEx(pInfo);
repeat
exitCode := WaitForSingleObject(Info.hProcess, 500);
Application.ProcessMessages;
until (exitCode <> WAIT_TIMEOUT);
end;
 
procedure RegSvr32(const dll: string);
begin
//ShellExecute(Form1.Handle, 'open', 'regsvr32.exe', PChar('"' + dll + '"'), '', SW_NORMAL);
RunAndWaitShell('regsvr32.exe', '"'+dll+'"', SW_NORMAL);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
rs: TResourceStream;
Wow64FsEnableRedirection: LongBool;
reg: TRegistry;
sl: TStringList;
kn: string;
test: string;
lastregfile: string;
begin
if not IsUserAnAdmin then
begin
raise Exception.Create('To register the libraries, this application needs to run as administrator.');
end;
 
try
{$REGION 'Copy DLL to common files'}
 
if TOSVersion.Architecture = TOSVersion.TArchitecture.arIntelX86 then
begin
{$REGION '32 Bit Windows'}
lastregfile := 'C:\Program Files\Common Files\ViaThinkSoft\ViaThinkSoftSimpleLogEvent32.dll';
ForceDirectories(ExtractFilePath(lastregfile));
rs := TResourceStream.CreateFromID(HInstance, 32, PChar('DLL'));
rs.SaveToFile(lastregfile);
rs.Free;
RegSvr32(lastregfile);
{$ENDREGION}
end;
 
if TOSVersion.Architecture = TOSVersion.TArchitecture.arIntelX64 then
begin
{$REGION '64 Bit Windows'}
Wow64DisableWow64FsRedirection(Wow64FsEnableRedirection);
try
lastregfile := 'C:\Program Files (x86)\Common Files\ViaThinkSoft\ViaThinkSoftSimpleLogEvent32.dll';
ForceDirectories(ExtractFilePath(lastregfile));
rs := TResourceStream.CreateFromID(HInstance, 32, PChar('DLL'));
rs.SaveToFile(lastregfile);
rs.Free;
RegSvr32(lastregfile);
 
lastregfile := 'C:\Program Files\Common Files\ViaThinkSoft\ViaThinkSoftSimpleLogEvent64.dll';
ForceDirectories(ExtractFilePath(lastregfile));
rs := TResourceStream.CreateFromID(HInstance, 64, PChar('DLL'));
rs.SaveToFile(lastregfile);
rs.Free;
RegSvr32(lastregfile);
finally
Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection);
end;
{$ENDREGION}
end;
 
{$ENDREGION}
 
{$REGION 'Update DLL path in log provider list'}
reg := TRegistry.Create;
sl := TStringList.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKey('SYSTEM\CurrentControlSet\services\eventlog\Application', false) then
begin
reg.GetKeyNames(sl);
reg.CloseKey;
for kn in sl do
begin
if reg.OpenKey('SYSTEM\CurrentControlSet\services\eventlog\Application\' + kn, false) then
begin
test := reg.ReadString('EventMessageFile');
if Pos('VIATHINKSOFTSIMPLELOGEVENT', UpperCase(test)) > 0 then
begin
if test <> lastregfile then
begin
reg.WriteString('EventMessageFile', lastregfile);
end;
end;
reg.CloseKey;
end;
end;
end;
finally
FreeAndNil(reg);
FreeAndNil(sl);
end;
{$ENDREGION}
 
finally
CheckInstallation;
end;
end;
 
const
DEFECTIVE_SUFFIX = ' (defective)';
 
procedure RegisterEventLogProvider(ProviderName, MessageFile: string);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
if not reg.OpenKey('SYSTEM\CurrentControlSet\Services\Eventlog\Application\'+ProviderName, true) then
begin
raise Exception.Create('Cannot register EventLog provider! Please run the application as administrator');
end
else
begin
reg.WriteInteger('CategoryCount', 0);
reg.WriteInteger('TypesSupported', 7);
reg.WriteString('EventMessageFile', MessageFile);
reg.WriteString('CategoryMessageFile', MessageFile);
reg.CloseKey;
end;
finally
reg.Free;
end;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
if FileExists(found64) then
begin
RegisterEventLogProvider(Edit3.Text, found64);
end
else if FileExists(found32) then
begin
RegisterEventLogProvider(Edit3.Text, found32);
end
else
begin
raise Exception.Create('Please first register the DLL');
end;
 
CheckInstallation;
 
Edit3.Text := '';
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var
text: string;
reg: TRegistry;
begin
if ListBox1.ItemIndex = -1 then exit;
text := ListBox1.Items.Strings[ListBox1.ItemIndex];
text := StringReplace(text, DEFECTIVE_SUFFIX, '', []);
 
reg := TRegistry.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
if not reg.DeleteKey('SYSTEM\CurrentControlSet\services\eventlog\Application\' + text) then
begin
raise Exception.Create('Failed to remove item. Are you admin?');
end;
finally
FreeAndNil(reg);
end;
 
CheckInstallation;
end;
 
procedure TForm1.CheckInstallation;
var
reg: TRegistry;
filename: string;
Wow64FsEnableRedirection: LongBool;
sl: TStrings;
kn: string;
test: string;
begin
found32 := '';
found64 := '';
 
if TOSVersion.Architecture = TOSVersion.TArchitecture.arIntelX64 then
begin
Wow64DisableWow64FsRedirection(Wow64FsEnableRedirection);
end;
try
{$REGION '32 Bit'}
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CLASSES_ROOT;
if not reg.OpenKeyReadOnly('TypeLib\{D7654BA7-41D0-4FF9-8543-C3A4DA936856}\1.0\0\win32') then
begin
Edit1.Text := 'NOT INSTALLED';
Edit1.Color := clRed;
end
else
begin
filename := reg.ReadString('');
if FileExists(filename) then
begin
Edit1.Text := 'Installed at ' + FileName;
Edit1.Color := clLime;
found32 := FileName;
end
else
begin
Edit1.Text := 'MISSING at location ' + FileName;
Edit1.Color := clRed;
end;
reg.CloseKey;
end;
finally
FreeAndNil(reg);
end;
{$ENDREGION}
 
{$REGION '64 Bit'}
if TOSVersion.Architecture = TOSVersion.TArchitecture.arIntelX86 then
begin
Edit2.Text := 'Not applicable on a 32-bit operating system';
Edit2.Color := clLime;
end
else
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CLASSES_ROOT;
if not reg.OpenKeyReadOnly('TypeLib\{D7654BA7-41D0-4FF9-8543-C3A4DA936856}\1.0\0\win64') then
begin
Edit2.Text := 'NOT INSTALLED';
Edit2.Color := clRed;
end
else
begin
filename := reg.ReadString('');
if FileExists(filename) then
begin
Edit2.Text := 'Installed at ' + FileName;
Edit2.Color := clLime;
found64 := FileName;
end
else
begin
Edit2.Text := 'MISSING at location ' + FileName;
Edit2.Color := clRed;
end;
reg.CloseKey;
end;
finally
FreeAndNil(reg);
end;
end;
{$ENDREGION}
 
finally
if TOSVersion.Architecture = TOSVersion.TArchitecture.arIntelX64 then
begin
Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection);
end;
end;
 
{$REGION 'List providers'}
ListBox1.Clear;
reg := TRegistry.Create;
sl := TStringList.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKeyReadOnly('SYSTEM\CurrentControlSet\services\eventlog\Application') then
begin
reg.GetKeyNames(sl);
reg.CloseKey;
for kn in sl do
begin
if reg.OpenKeyReadOnly('SYSTEM\CurrentControlSet\services\eventlog\Application\' + kn) then
begin
test := reg.ReadString('EventMessageFile');
if Pos('VIATHINKSOFTSIMPLELOGEVENT', UpperCase(test)) > 0 then
begin
if not FileExists(test) then
ListBox1.Items.Add(kn + DEFECTIVE_SUFFIX)
else
ListBox1.Items.Add(kn);
end;
reg.CloseKey;
end;
end;
end;
finally
FreeAndNil(reg);
FreeAndNil(sl);
end;
{$ENDREGION}
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
CheckInstallation;
end;
 
end.
/trunk/Setup/SimpleLogEventSetup_Icon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/TLB/DelWaste.bat
0,0 → 1,8
@echo off
 
rd /s /q "%~dp0\__history"
rd /s /q "%~dp0\__recovery"
del "%~dp0*.dcu"
del "%~dp0*.rsm"
del "%~dp0*.local"
del "%~dp0*.identcache"
/trunk/TLB/Register.bat
0,0 → 1,13
@echo off
 
net session >nul 2>&1
if %errorLevel% == 0 (
regsvr32 "%~dp0ViaThinkSoftSimpleLogEvent32.dll"
regsvr32 "%~dp0ViaThinkSoftSimpleLogEvent64.dll"
) else (
echo.
echo Failure: Current permissions inadequate.
echo Please run script as administrator.
echo.
pause.
)
/trunk/TLB/UnRegister.bat
0,0 → 1,13
@echo off
 
net session >nul 2>&1
if %errorLevel% == 0 (
regsvr32 /u "%~dp0ViaThinkSoftSimpleLogEvent32.dll"
regsvr32 /u "%~dp0ViaThinkSoftSimpleLogEvent64.dll"
) else (
echo.
echo Failure: Current permissions inadequate.
echo Please run script as administrator.
echo.
pause.
)
/trunk/TLB/ViaThinkSoftSimpleLogEvent.dpr
0,0 → 1,21
library ViaThinkSoftSimpleLogEvent;
 
uses
ComServ,
ViaThinkSoftSimpleLogEvent_TLB in 'ViaThinkSoftSimpleLogEvent_TLB.pas',
ViaThinkSoftSimpleLogEvent_Impl in 'ViaThinkSoftSimpleLogEvent_Impl.pas' {ViaThinkSoftSimpleEventLog: CoClass};
 
{$R *.TLB}
 
{$R *.RES}
 
{$R '..\MessageTable\EventlogMessages.RES'}
 
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
 
begin
end.
/trunk/TLB/ViaThinkSoftSimpleLogEvent.dproj
0,0 → 1,1002
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{80e4baaf-f51f-4ede-9fa9-923b85b8afe5}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>ViaThinkSoftSimpleLogEvent.dll</DCC_DependencyCheckOutputName>
<MainSource>ViaThinkSoftSimpleLogEvent.dpr</MainSource>
<FrameworkType>None</FrameworkType>
<ProjectVersion>18.8</ProjectVersion>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win64</Platform>
<TargetedPlatforms>3</TargetedPlatforms>
<AppType>Library</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
<Cfg_1_Win64>true</Cfg_1_Win64>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
<Cfg_2_Win64>true</Cfg_2_Win64>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<GenDll>true</GenDll>
<SanitizedProjectName>ViaThinkSoftSimpleLogEvent</SanitizedProjectName>
<VerInfo_Locale>1031</VerInfo_Locale>
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=ViaThinkSoft Simple Log Event DLL;FileVersion=1.0.0.0;InternalName=;LegalCopyright=(C) 2020 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=www.viathinksoft.com</VerInfo_Keys>
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;System.Win;Winapi;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_Namespace>Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<PostBuildEvent><![CDATA[move "$(OutputName)$(OutputExt)" "$(OutputName)32$(OutputExt)"
$(PostBuildEvent)]]></PostBuildEvent>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<DCC_Namespace>Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
<PostBuildEvent><![CDATA[move "$(OutputName)$(OutputExt)" "$(OutputName)64$(OutputExt)"
$(PostBuildEvent)]]></PostBuildEvent>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<Version>7.0</Version>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<Version>7.0</Version>
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<Delphi.Personality>
<Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">1031</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"/>
<VersionInfoKeys Name="FileDescription"/>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"/>
<VersionInfoKeys Name="LegalCopyright"/>
<VersionInfoKeys Name="LegalTrademarks"/>
<VersionInfoKeys Name="OriginalFilename"/>
<VersionInfoKeys Name="ProductName"/>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"/>
</VersionInfoKeys>
<Source>
<Source Name="MainSource">ViaThinkSoftSimpleLogEvent.dpr</Source>
</Source>
<Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<Deployment Version="3">
<DeployFile LocalName="$(BDS)\Redist\osx32\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="OSX32">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="ViaThinkSoftSimpleLogEvent.dll" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>ViaThinkSoftSimpleLogEvent.dll</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider">
<Platform Name="Android">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiv7aFile">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStylesV21">
<Platform Name="Android">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Colors">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon144">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon24">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage640">
<Platform Name="Android">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage960">
<Platform Name="Android">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Strings">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyModule">
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="DependencyPackage">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="Android64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX64">
<Operation>0</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1024x768">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1536x2048">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1668">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1668x2388">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048x1536">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048x2732">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2224">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2388x1668">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2732x2048">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch768x1024">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1125">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1136x640">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1242">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1242x2688">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1334">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch1792">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2208">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2436">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2688x1242">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch320">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640x1136">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch750">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch828">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android">
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice32">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceResourceRules"/>
<DeployClass Name="ProjectiOSEntitlements"/>
<DeployClass Name="ProjectiOSInfoPList"/>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXDebug"/>
<DeployClass Name="ProjectOSXEntitlements"/>
<DeployClass Name="ProjectOSXInfoPList"/>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="ProjectOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="Linux64">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectUWPManifest">
<Platform Name="Win32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo150">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo44">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
</Deployment>
<ActiveXProjectInfo>
<version>1</version>
</ActiveXProjectInfo>
<Platforms>
<Platform value="Win32">True</Platform>
<Platform value="Win64">True</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="ViaThinkSoftSimpleLogEvent_TLB.pas"/>
<DCCReference Include="ViaThinkSoftSimpleLogEvent_Impl.pas">
<CoClasses>ViaThinkSoftSimpleEventLog</CoClasses>
</DCCReference>
<RidlCompile Include="ViaThinkSoftSimpleLogEvent.ridl"/>
<BuildConfiguration Include="Debug">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<ItemGroup/>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
<PropertyGroup Condition="'$(Config)'=='Release' And '$(Platform)'=='Win32'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>move &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)32$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' And '$(Platform)'=='Win64'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>move &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)64$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' And '$(Platform)'=='Win32'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>move &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)32$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' And '$(Platform)'=='Win64'">
<PreBuildEvent/>
<PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
<PreLinkEvent/>
<PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
<PostBuildEvent>move &quot;$(OutputName)$(OutputExt)&quot; &quot;$(OutputName)64$(OutputExt)&quot;</PostBuildEvent>
<PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
</PropertyGroup>
</Project>
/trunk/TLB/ViaThinkSoftSimpleLogEvent.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/TLB/ViaThinkSoftSimpleLogEvent.ridl
0,0 → 1,62
// ************************************************************************ //
// WARNUNG
// -------
// Diese Datei wird von dem Typbibliotheks-Importer oder dem Typbibliothekseditor
// erzeugt. Außer Syntaxfehlern analysiert der Editor an der Datei vorgenommene
// Änderungen. Wenn Sie aber Änderungen mit dem Editor vornehmen, wird diese
// Datei neu erzeugt und Kommentare oder Formatänderungen gehen verloren.
// ************************************************************************ //
// Datei erzeugt am 03.05.2020 21:20:06 (- $Rev: 12980 $, 10716816).
 
[
uuid(D7654BA7-41D0-4FF9-8543-C3A4DA936856),
version(1.0),
helpstring("ViaThinkSoftSimpleLogEvent Library")
 
]
library ViaThinkSoftSimpleLogEvent
{
 
importlib("stdole2.tlb");
 
interface IViaThinkSoftSimpleEventLog;
coclass ViaThinkSoftSimpleEventLog;
 
 
[
uuid(7E436E11-889B-4DB6-8530-D3933ED080A2)
]
enum LogEventType
{
Success = 0,
Informational = 1,
Warning = 2,
Error = 3
};
 
[
uuid(4094657E-8199-460F-A3DD-5BB63B6B0F65),
version(1.0),
helpstring("Dispatch interface for ViaThinkSoftSimpleEventLog Object"),
dual,
oleautomation
]
interface IViaThinkSoftSimpleEventLog: IDispatch
{
[id(0x000000C9)]
HRESULT _stdcall LogEvent([in] BSTR SourceName, [in] enum LogEventType EventType, [in] BSTR LogMsg);
[id(0x000000CA)]
HRESULT _stdcall LogSimulate([in] BSTR SourceName, [in] enum LogEventType EventType, [in] BSTR LogMsg, [out] VARIANT* Reason);
};
 
[
uuid(E4270053-A217-498C-B395-9EF33187E8C2),
version(1.0),
helpstring("ViaThinkSoftSimpleEventLog Object")
]
coclass ViaThinkSoftSimpleEventLog
{
[default] interface IViaThinkSoftSimpleEventLog;
};
 
};
/trunk/TLB/ViaThinkSoftSimpleLogEvent.tlb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/TLB/ViaThinkSoftSimpleLogEvent32.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/TLB/ViaThinkSoftSimpleLogEvent64.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/TLB/ViaThinkSoftSimpleLogEvent_Icon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/TLB/ViaThinkSoftSimpleLogEvent_Impl.pas
0,0 → 1,112
unit ViaThinkSoftSimpleLogEvent_Impl;
 
{$WARN SYMBOL_PLATFORM OFF}
 
interface
 
uses
ComObj, ActiveX, ViaThinkSoftSimpleLogEvent_TLB, StdVcl;
 
type
TViaThinkSoftSimpleEventLog = class(TAutoObject, IViaThinkSoftSimpleEventLog)
protected
procedure LogEvent(const SourceName: WideString; EventType: LogEventType; const LogMsg: WideString);
safecall;
procedure LogSimulate(const SourceName: WideString; EventType: LogEventType; const LogMsg: WideString;
out Reason: OleVariant); safecall;
end;
 
implementation
 
uses ComServ, Windows, SysUtils;
 
const
MSG_SUCCESS = $20000000;
MSG_INFORMATIONAL = $60000001;
MSG_WARNING = $A0000002;
MSG_ERROR = $E0000003;
 
procedure WriteEventLog(AProvider: string; AEventType: word; AEventId: Cardinal; AEntry: string);
var
EventLog: THandle;
P: Pointer;
begin
P := PChar(AEntry);
EventLog := RegisterEventSource(nil, PChar(AProvider));
if EventLog = 0 then
begin
raise Exception.CreateFmt('RegisterEventSource failed with error code %d', [GetLastError]);
end;
if EventLog <> 0 then
try
if not ReportEvent(EventLog, // event log handle
AEventType, // event type
0, // category zero
AEventId, // event identifier
nil, // no user security identifier
1, // one substitution string
0, // no data
@P, // pointer to string array
nil) then // pointer to data
begin
raise Exception.CreateFmt('ReportEvent failed with error code %d', [GetLastError]);
end;
finally
DeregisterEventSource(EventLog);
end;
end;
 
procedure TViaThinkSoftSimpleEventLog.LogEvent(const SourceName: WideString; EventType: LogEventType;
const LogMsg: WideString);
begin
case EventType of
ViaThinkSoftSimpleLogEvent_TLB.Success:
WriteEventLog(SourceName, EVENTLOG_SUCCESS, MSG_SUCCESS, LogMsg);
ViaThinkSoftSimpleLogEvent_TLB.Informational:
WriteEventLog(SourceName, EVENTLOG_INFORMATION_TYPE, MSG_INFORMATIONAL, LogMsg);
ViaThinkSoftSimpleLogEvent_TLB.Warning:
WriteEventLog(SourceName, EVENTLOG_WARNING_TYPE, MSG_WARNING, LogMsg);
ViaThinkSoftSimpleLogEvent_TLB.Error:
WriteEventLog(SourceName, EVENTLOG_ERROR_TYPE, MSG_ERROR, LogMsg);
else
begin
raise Exception.CreateFmt('ViaThinkSoftSimpleEventLog.LogEvent: Unexpected event type %d', [Ord(EventType)]);
end;
end;
end;
 
procedure TViaThinkSoftSimpleEventLog.LogSimulate(const SourceName: WideString; EventType: LogEventType;
const LogMsg: WideString; out Reason: OleVariant);
var
EventLog: THandle;
begin
try
Reason := '';
if (EventType < 0) or (EventType > ViaThinkSoftSimpleLogEvent_TLB.Error) then
begin
Reason := Format('Unexpected event type %d', [Ord(EventType)]);
Exit;
end;
 
EventLog := RegisterEventSource(nil, PChar(SourceName));
if EventLog = 0 then
begin
Reason := Format('RegisterEventSource failed with error code %d', [GetLastError]);
Exit;
end
else
begin
DeregisterEventSource(EventLog);
end;
except
on E: Exception do
begin
Reason := Format('Unexpected error: %s', [e.Message]);
end;
end;
end;
 
initialization
TAutoObjectFactory.Create(ComServer, TViaThinkSoftSimpleEventLog, Class_ViaThinkSoftSimpleEventLog,
ciMultiInstance, tmApartment);
end.
/trunk/TLB/ViaThinkSoftSimpleLogEvent_TLB.pas
0,0 → 1,134
unit ViaThinkSoftSimpleLogEvent_TLB;
 
// ************************************************************************ //
// WARNUNG
// -------
// Die in dieser Datei deklarierten Typen wurden aus Daten einer Typbibliothek
// generiert. Wenn diese Typbibliothek explizit oder indirekt (über eine
// andere Typbibliothek) reimportiert wird oder wenn der Befehl
// 'Aktualisieren' im Typbibliotheks-Editor während des Bearbeitens der
// Typbibliothek aktiviert ist, wird der Inhalt dieser Datei neu generiert und
// alle manuell vorgenommenen Änderungen gehen verloren.
// ************************************************************************ //
 
// $Rev: 52393 $
// Datei am 03.05.2020 21:20:05 erzeugt aus der unten beschriebenen Typbibliothek.
 
// ************************************************************************ //
// Typbib.: C:\Users\DELL User\SVN\SimpleLogEvent\trunk\TLB\ViaThinkSoftSimpleLogEvent (1)
// LIBID: {D7654BA7-41D0-4FF9-8543-C3A4DA936856}
// LCID: 0
// Hilfedatei:
// Hilfe-String: ViaThinkSoftSimpleLogEvent Library
// Liste der Abhäng.:
// (1) v2.0 stdole, (C:\Windows\SysWOW64\stdole2.tlb)
// SYS_KIND: SYS_WIN32
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit muss ohne Typüberprüfung für Zeiger compiliert werden.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
{$ALIGN 4}
 
interface
 
uses Winapi.Windows, System.Classes, System.Variants, System.Win.StdVCL, Vcl.Graphics, Vcl.OleServer, Winapi.ActiveX;
 
// *********************************************************************//
// In der Typbibliothek deklarierte GUIDS. Die folgenden Präfixe werden verwendet:
// Typbibliotheken : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Nicht-DISP-Interfaces: IID_xxxx
// *********************************************************************//
const
// Haupt- und Nebenversionen der Typbibliothek
ViaThinkSoftSimpleLogEventMajorVersion = 1;
ViaThinkSoftSimpleLogEventMinorVersion = 0;
 
LIBID_ViaThinkSoftSimpleLogEvent: TGUID = '{D7654BA7-41D0-4FF9-8543-C3A4DA936856}';
 
IID_IViaThinkSoftSimpleEventLog: TGUID = '{4094657E-8199-460F-A3DD-5BB63B6B0F65}';
CLASS_ViaThinkSoftSimpleEventLog: TGUID = '{E4270053-A217-498C-B395-9EF33187E8C2}';
 
// *********************************************************************//
// Deklaration von in der Typbibliothek definierten Aufzählungen
// *********************************************************************//
// Konstanten für enum LogEventType
type
LogEventType = TOleEnum;
const
Success = $00000000;
Informational = $00000001;
Warning = $00000002;
Error = $00000003;
 
type
 
// *********************************************************************//
// Forward-Deklaration von in der Typbibliothek definierten Typen
// *********************************************************************//
IViaThinkSoftSimpleEventLog = interface;
IViaThinkSoftSimpleEventLogDisp = dispinterface;
 
// *********************************************************************//
// Deklaration von in der Typbibliothek definierten CoClasses
// (HINWEIS: Hier wird jede CoClass ihrem Standard-Interface zugewiesen)
// *********************************************************************//
ViaThinkSoftSimpleEventLog = IViaThinkSoftSimpleEventLog;
 
 
// *********************************************************************//
// Interface: IViaThinkSoftSimpleEventLog
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {4094657E-8199-460F-A3DD-5BB63B6B0F65}
// *********************************************************************//
IViaThinkSoftSimpleEventLog = interface(IDispatch)
['{4094657E-8199-460F-A3DD-5BB63B6B0F65}']
procedure LogEvent(const SourceName: WideString; EventType: LogEventType;
const LogMsg: WideString); safecall;
procedure LogSimulate(const SourceName: WideString; EventType: LogEventType;
const LogMsg: WideString; out Reason: OleVariant); safecall;
end;
 
// *********************************************************************//
// DispIntf: IViaThinkSoftSimpleEventLogDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {4094657E-8199-460F-A3DD-5BB63B6B0F65}
// *********************************************************************//
IViaThinkSoftSimpleEventLogDisp = dispinterface
['{4094657E-8199-460F-A3DD-5BB63B6B0F65}']
procedure LogEvent(const SourceName: WideString; EventType: LogEventType;
const LogMsg: WideString); dispid 201;
procedure LogSimulate(const SourceName: WideString; EventType: LogEventType;
const LogMsg: WideString; out Reason: OleVariant); dispid 202;
end;
 
// *********************************************************************//
// Die Klasse CoViaThinkSoftSimpleEventLog stellt die Methoden Create und CreateRemote zur
// Verfügung, um Instanzen des Standard-Interface IViaThinkSoftSimpleEventLog, dargestellt
// von CoClass ViaThinkSoftSimpleEventLog, zu erzeugen. Diese Funktionen können
// von einem Client verwendet werden, der die CoClasses automatisieren
// will, die von dieser Typbibliothek dargestellt werden.
// *********************************************************************//
CoViaThinkSoftSimpleEventLog = class
class function Create: IViaThinkSoftSimpleEventLog;
class function CreateRemote(const MachineName: string): IViaThinkSoftSimpleEventLog;
end;
 
implementation
 
uses System.Win.ComObj;
 
class function CoViaThinkSoftSimpleEventLog.Create: IViaThinkSoftSimpleEventLog;
begin
Result := CreateComObject(CLASS_ViaThinkSoftSimpleEventLog) as IViaThinkSoftSimpleEventLog;
end;
 
class function CoViaThinkSoftSimpleEventLog.CreateRemote(const MachineName: string): IViaThinkSoftSimpleEventLog;
begin
Result := CreateRemoteComObject(MachineName, CLASS_ViaThinkSoftSimpleEventLog) as IViaThinkSoftSimpleEventLog;
end;
 
end.
 
/trunk/phpstan.neon.dist
0,0 → 1,16
parameters:
level: 5
fileExtensions:
- php
- phps
paths:
- .
excludePaths:
analyseAndScan:
- .phpstan.tmp
tmpDir: .phpstan.tmp
ignoreErrors:
#- '#is always (true|false)\.#'
#- '#Call to function assert\(\) with false will always evaluate to false\.#'
#- '#with no typehint specified\.#'
- '#Call to an undefined method COM::LogEvent\(\).#'
/trunk/.
Property changes:
Added: svn:ignore
+.phpstan.tmp
+phpstan.neon
+