/trunk/LogTestUsingDelphi/LogWriteTestDelphi.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/trunk/LogTestUsingDelphi/LogWriteTestDelphi.dpr |
---|
9,12 → 9,6 |
ActiveX, |
ViaThinkSoftSimpleLogEvent_TLB in '..\TLB\ViaThinkSoftSimpleLogEvent_TLB.pas'; |
const |
LOGEVENT_MSG_SUCCESS = 0; |
LOGEVENT_MSG_INFORMATIONAL = 1; |
LOGEVENT_MSG_WARNING = 2; |
LOGEVENT_MSG_ERROR = 3; |
var |
x: IViaThinkSoftSimpleEventLog; |
begin |
22,9 → 16,9 |
CoInitialize(nil); |
x := CoViaThinkSoftSimpleEventLog.Create; |
{$IFDEF WIN64} |
x.LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by Delphi 64 bit'); |
x.LogEvent('MySourceName', ViaThinkSoftSimpleLogEvent_TLB.Warning, 'This is a test warning written by Delphi 64 bit'); |
{$ELSE} |
x.LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by Delphi 32 bit'); |
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?! |
/trunk/LogTestUsingDelphi/LogWriteTestDelphi.dproj |
---|
6,7 → 6,7 |
<MainSource>LogWriteTestDelphi.dpr</MainSource> |
<Base>True</Base> |
<Config Condition="'$(Config)'==''">Release</Config> |
<Platform Condition="'$(Platform)'==''">Win32</Platform> |
<Platform Condition="'$(Platform)'==''">Win64</Platform> |
<TargetedPlatforms>3</TargetedPlatforms> |
<AppType>Console</AppType> |
</PropertyGroup> |
/trunk/LogTestUsingDelphi/LogWriteTestDelphi32.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/LogTestUsingDelphi/LogWriteTestDelphi64.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/LogTestUsingPHP/LogTest.php |
---|
27,10 → 27,10 |
} |
if (PHP_INT_SIZE == 8) { |
$x->LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by 64 bit PHP'); |
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by 64 bit PHP'); |
} else if (PHP_INT_SIZE == 4) { |
$x->LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by 32 bit PHP'); |
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by 32 bit PHP'); |
} else { |
// Should never happen! |
$x->LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by whatever-bit PHP'); |
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by whatever-bit PHP'); |
} |
/trunk/LogTestUsingVBS/LogTest.vbs |
---|
7,6 → 7,6 |
const LOGEVENT_MSG_WARNING = 2 |
const LOGEVENT_MSG_ERROR = 3 |
objMyObject.LogEvent LOGEVENT_MSG_WARNING, "This is a test warning written by VBS" |
objMyObject.LogEvent "MySourceName", LOGEVENT_MSG_WARNING, "This is a test warning written by VBS" |
MsgBox "OK" |
/trunk/README.txt |
---|
14,15 → 14,18 |
without MessageTable/Provider. |
Distribution to the end user (files found in folder "TLB") |
Distribution to the end user |
---------------------------- |
Register.bat |
UnRegister.bat |
ViaThinkSoftSimpleLogEvent32.dll |
ViaThinkSoftSimpleLogEvent64.dll |
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 |
------------ |
57,7 → 60,7 |
const LOGEVENT_MSG_WARNING = 2 |
const LOGEVENT_MSG_ERROR = 3 |
objMyObject.LogEvent LOGEVENT_MSG_WARNING, "This is a test warning written by VBS" |
objMyObject.LogEvent "MySourceName", LOGEVENT_MSG_WARNING, "This is a test warning written by VBS" |
Example usage with PHP |
71,7 → 74,7 |
define('LOGEVENT_MSG_ERROR', 3); |
$x = new COM(CLASS_ViaThinkSoftSimpleEventLog); |
$x->LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by PHP'); |
$x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by PHP'); |
Example usage with Delphi |
81,23 → 84,43 |
ActiveX, |
ViaThinkSoftSimpleLogEvent_TLB; |
const |
LOGEVENT_MSG_SUCCESS = 0; |
LOGEVENT_MSG_INFORMATIONAL = 1; |
LOGEVENT_MSG_WARNING = 2; |
LOGEVENT_MSG_ERROR = 3; |
procedure LogTest; |
var |
x: IViaThinkSoftSimpleEventLog; |
begin |
CoInitialize(nil); // <-- only needs to be called once |
CoInitialize(nil); // needs to be called only once |
x := CoViaThinkSoftSimpleEventLog.Create; |
x.LogEvent(LOGEVENT_MSG_WARNING, 'This is a test warning written by Delphi'); |
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 |
------- |
/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,6 |
@echo on |
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,982 |
<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=;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>SimpleLogEventSetup</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_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> |
<Manifest_File>$(BDS)\bin\default_app.manifest</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> |
</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> |
</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,357 |
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 RegSvr32(const dll: string); |
begin |
ShellExecute(Form1.Handle, 'open', 'regsvr32.exe', PChar('"' + 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/TLB/ViaThinkSoftSimpleLogEvent.dpr |
---|
2,10 → 2,6 |
uses |
ComServ, |
Registry, |
Vcl.Dialogs, |
Windows, |
SysUtils, |
ViaThinkSoftSimpleLogEvent_TLB in 'ViaThinkSoftSimpleLogEvent_TLB.pas', |
ViaThinkSoftSimpleLogEvent_Impl in 'ViaThinkSoftSimpleLogEvent_Impl.pas' {ViaThinkSoftSimpleEventLog: CoClass}; |
15,60 → 11,6 |
{$R '..\MessageTable\EventlogMessages.RES'} |
function GetOwnDllPath: string; |
var |
reg: TRegistry; |
regKey: string; |
begin |
result := ''; |
reg := TRegistry.Create; |
try |
reg.RootKey := HKEY_CLASSES_ROOT; |
{$IFDEF WIN64} |
regKey := 'TypeLib\'+GuidToString(LIBID_ViaThinkSoftSimpleLogEvent)+'\1.0\0\win64'; |
{$ELSE} |
regKey := 'TypeLib\'+GuidToString(LIBID_ViaThinkSoftSimpleLogEvent)+'\1.0\0\win32'; |
{$ENDIF} |
if reg.OpenKeyReadOnly(regKey) then |
begin |
result := reg.ReadString(''); |
reg.CloseKey; |
end; |
finally |
reg.Free; |
end; |
end; |
procedure RegisterEventLogProviderIfRequired; |
var |
reg: TRegistry; |
begin |
reg := TRegistry.Create; |
try |
reg.RootKey := HKEY_LOCAL_MACHINE; |
if not reg.OpenKey('SYSTEM\CurrentControlSet\Services\Eventlog\Application\'+LOGEVENT_PROVIDER_NAME, true) then |
begin |
ShowMessage('Cannot register EventLog provider! Please run the application as administrator'); |
end |
else |
begin |
reg.WriteInteger('CategoryCount', 0); |
reg.WriteInteger('TypesSupported', 7); |
reg.WriteString('EventMessageFile', GetOwnDllPath); |
reg.WriteString('CategoryMessageFile', GetOwnDllPath); |
reg.CloseKey; |
end; |
finally |
reg.Free; |
end; |
end; |
function DllRegisterServer: HResult; |
begin |
result := ComServ.DllRegisterServer; |
RegisterEventLogProviderIfRequired; |
end; |
exports |
DllGetClassObject, |
DllCanUnloadNow, |
/trunk/TLB/ViaThinkSoftSimpleLogEvent.dproj |
---|
9,7 → 9,7 |
<ProjectVersion>18.8</ProjectVersion> |
<Base>True</Base> |
<Config Condition="'$(Config)'==''">Release</Config> |
<Platform Condition="'$(Platform)'==''">Win64</Platform> |
<Platform Condition="'$(Platform)'==''">Win32</Platform> |
<TargetedPlatforms>3</TargetedPlatforms> |
<AppType>Library</AppType> |
</PropertyGroup> |
/trunk/TLB/ViaThinkSoftSimpleLogEvent.res |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/TLB/ViaThinkSoftSimpleLogEvent.ridl |
---|
6,7 → 6,7 |
// Änderungen. Wenn Sie aber Änderungen mit dem Editor vornehmen, wird diese |
// Datei neu erzeugt und Kommentare oder Formatänderungen gehen verloren. |
// ************************************************************************ // |
// Datei erzeugt am 29.04.2020 21:29:52 (- $Rev: 12980 $, 7765620). |
// Datei erzeugt am 30.04.2020 23:03:28 (- $Rev: 12980 $, 10609955). |
[ |
uuid(D7654BA7-41D0-4FF9-8543-C3A4DA936856), |
24,6 → 24,17 |
[ |
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"), |
33,7 → 44,7 |
interface IViaThinkSoftSimpleEventLog: IDispatch |
{ |
[id(0x000000C9)] |
HRESULT _stdcall LogEvent([in] long EventType, [in] BSTR LogMsg); |
HRESULT _stdcall LogEvent([in] BSTR SourceName, [in] enum LogEventType EventType, [in] BSTR LogMsg); |
}; |
[ |
/trunk/TLB/ViaThinkSoftSimpleLogEvent.tlb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/TLB/ViaThinkSoftSimpleLogEvent32.dll |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/TLB/ViaThinkSoftSimpleLogEvent64.dll |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/TLB/ViaThinkSoftSimpleLogEvent_Impl.pas |
---|
10,12 → 10,10 |
type |
TViaThinkSoftSimpleEventLog = class(TAutoObject, IViaThinkSoftSimpleEventLog) |
protected |
procedure LogEvent(EventType: Integer; const LogMsg: WideString); safecall; |
procedure LogEvent(const SourceName: WideString; EventType: LogEventType; const LogMsg: WideString); |
safecall; |
end; |
const |
LOGEVENT_PROVIDER_NAME = 'ViaThinkSoft'; |
implementation |
uses ComServ, Windows; |
51,20 → 49,18 |
end; |
end; |
procedure TViaThinkSoftSimpleEventLog.LogEvent(EventType: Integer; |
procedure TViaThinkSoftSimpleEventLog.LogEvent(const SourceName: WideString; EventType: LogEventType; |
const LogMsg: WideString); |
begin |
case EventType of |
0: |
WriteEventLog(LOGEVENT_PROVIDER_NAME, EVENTLOG_SUCCESS, MSG_SUCCESS, LogMsg); |
1: |
WriteEventLog(LOGEVENT_PROVIDER_NAME, EVENTLOG_INFORMATION_TYPE, MSG_INFORMATIONAL, LogMsg); |
2: |
WriteEventLog(LOGEVENT_PROVIDER_NAME, EVENTLOG_WARNING_TYPE, MSG_WARNING, LogMsg); |
3: |
WriteEventLog(LOGEVENT_PROVIDER_NAME, EVENTLOG_ERROR_TYPE, MSG_ERROR, LogMsg); |
else |
// TODO: Exception/Error ? |
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); |
end; |
end; |
/trunk/TLB/ViaThinkSoftSimpleLogEvent_TLB.pas |
---|
1,46 → 1,48 |
unit ViaThinkSoftSimpleLogEvent_TLB; |
// ************************************************************************ // |
// WARNING |
// WARNUNG |
// ------- |
// The types declared in this file were generated from data read from a |
// Type Library. If this type library is explicitly or indirectly (via |
// another type library referring to this type library) re-imported, or the |
// 'Refresh' command of the Type Library Editor activated while editing the |
// Type Library, the contents of this file will be regenerated and all |
// manual modifications will be lost. |
// 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: 8291 $ |
// File generated on 29.04.2020 21:22:15 from Type Library described below. |
// $Rev: 52393 $ |
// Datei am 30.04.2020 23:02:59 erzeugt aus der unten beschriebenen Typbibliothek. |
// ************************************************************************ // |
// Type Lib: D:\VtsEventLog\ComTest2\ViaThinkSoftSimpleLogEvent.tlb (1) |
// Typbib.: C:\Users\DELL User\SVN\SimpleLogEvent\trunk\TLB\ViaThinkSoftSimpleLogEvent (1) |
// LIBID: {D7654BA7-41D0-4FF9-8543-C3A4DA936856} |
// LCID: 0 |
// Helpfile: |
// HelpString: ViaThinkSoftSimpleLogEvent Library |
// DepndLst: |
// 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 must be compiled without type-checked pointers. |
{$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 Windows, ActiveX, Classes, StdVCL, Variants; |
uses Winapi.Windows, System.Classes, System.Variants, System.Win.StdVCL, Vcl.Graphics, Vcl.OleServer, Winapi.ActiveX; |
// *********************************************************************// |
// GUIDS declared in the TypeLibrary. Following prefixes are used: |
// Type Libraries : LIBID_xxxx |
// In der Typbibliothek deklarierte GUIDS. Die folgenden Präfixe werden verwendet: |
// Typbibliotheken : LIBID_xxxx |
// CoClasses : CLASS_xxxx |
// DISPInterfaces : DIID_xxxx |
// Non-DISP interfaces: IID_xxxx |
// Nicht-DISP-Interfaces: IID_xxxx |
// *********************************************************************// |
const |
// TypeLibrary Major and minor versions |
// Haupt- und Nebenversionen der Typbibliothek |
ViaThinkSoftSimpleLogEventMajorVersion = 1; |
ViaThinkSoftSimpleLogEventMinorVersion = 0; |
48,17 → 50,30 |
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 declaration of types defined in TypeLibrary |
// Forward-Deklaration von in der Typbibliothek definierten Typen |
// *********************************************************************// |
IViaThinkSoftSimpleEventLog = interface; |
IViaThinkSoftSimpleEventLogDisp = dispinterface; |
// *********************************************************************// |
// Declaration of CoClasses defined in Type Library |
// (NOTE: Here we map each CoClass to its Default Interface) |
// Deklaration von in der Typbibliothek definierten CoClasses |
// (HINWEIS: Hier wird jede CoClass ihrem Standard-Interface zugewiesen) |
// *********************************************************************// |
ViaThinkSoftSimpleEventLog = IViaThinkSoftSimpleEventLog; |
70,7 → 85,8 |
// *********************************************************************// |
IViaThinkSoftSimpleEventLog = interface(IDispatch) |
['{4094657E-8199-460F-A3DD-5BB63B6B0F65}'] |
procedure LogEvent(EventType: Integer; const LogMsg: WideString); safecall; |
procedure LogEvent(const SourceName: WideString; EventType: LogEventType; |
const LogMsg: WideString); safecall; |
end; |
// *********************************************************************// |
80,15 → 96,16 |
// *********************************************************************// |
IViaThinkSoftSimpleEventLogDisp = dispinterface |
['{4094657E-8199-460F-A3DD-5BB63B6B0F65}'] |
procedure LogEvent(EventType: Integer; const LogMsg: WideString); dispid 201; |
procedure LogEvent(const SourceName: WideString; EventType: LogEventType; |
const LogMsg: WideString); dispid 201; |
end; |
// *********************************************************************// |
// The Class CoViaThinkSoftSimpleEventLog provides a Create and CreateRemote method to |
// create instances of the default interface IViaThinkSoftSimpleEventLog exposed by |
// the CoClass ViaThinkSoftSimpleEventLog. The functions are intended to be used by |
// clients wishing to automate the CoClass objects exposed by the |
// server of this typelibrary. |
// 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; |
97,7 → 114,7 |
implementation |
uses ComObj; |
uses System.Win.ComObj; |
class function CoViaThinkSoftSimpleEventLog.Create: IViaThinkSoftSimpleEventLog; |
begin |
110,3 → 127,4 |
end; |
end. |