Fixed some demo

This commit is contained in:
danieleteti 2016-09-20 16:27:17 +02:00
parent cbc37640d4
commit 6f295d952b
9 changed files with 576 additions and 205 deletions

View File

@ -195,6 +195,7 @@ type
procedure OnStopListen(StompClient: IStompClient); procedure OnStopListen(StompClient: IStompClient);
end; end;
{ TODO -oDaniele -cGeneral : Use TThread by composition and not by inheritance }
TStompClientListener = class(TThread, IStompListener) TStompClientListener = class(TThread, IStompListener)
strict protected strict protected
FStompClientListener: IStompClientListener; FStompClientListener: IStompClientListener;

View File

@ -22,8 +22,8 @@ def buildProject(project):
def summaryTable(builds): def summaryTable(builds):
print(ansi.clear_screen()) print(ansi.clear_screen())
dmvc_copyright() dmvc_copyright()
print(Fore.WHITE + "PROJECT NAME".ljust(90) + "STATUS".ljust(10)) print(Fore.WHITE + "PROJECT NAME".ljust(80) + "STATUS".ljust(10))
print(Fore.YELLOW + "=" * 100) print(Fore.YELLOW + "=" * 90)
good = bad = 0 good = bad = 0
for item in builds: for item in builds:
if item['status'] == 'ok': if item['status'] == 'ok':
@ -32,14 +32,14 @@ def summaryTable(builds):
else: else:
#WConio.textcolor(WConio.RED) #WConio.textcolor(WConio.RED)
bad += 1 bad += 1
print(Fore.BLUE + item['project'].ljust(90) + (Fore.WHITE if item['status'] == 'ok' else Fore.RED) + item['status'].ljust(4)) print(Fore.BLUE + item['project'].ljust(80) + (Fore.WHITE if item['status'] == 'ok' else Fore.RED) + item['status'].ljust(4))
#WConio.textcolor(WConio.WHITE) #WConio.textcolor(WConio.WHITE)
print(Fore.YELLOW + "=" * 100) print(Fore.YELLOW + "=" * 90)
#WConio.textcolor(WConio.GREEN) #WConio.textcolor(WConio.GREEN)
print(Fore.WHITE + "GOOD :".rjust(90) + str(good).rjust(10, '.')) print(Fore.WHITE + "GOOD :".rjust(80) + str(good).rjust(10, '.'))
#WConio.textcolor(WConio.RED) #WConio.textcolor(WConio.RED)
print(Fore.RED + "BAD :".rjust(90) + str(bad).rjust(10, '.')) print(Fore.RED + "BAD :".rjust(80) + str(bad).rjust(10, '.'))
################################################################################# #################################################################################
@ -63,12 +63,15 @@ def main(projects):
#old_setting = WConio.gettextinfo()[4] & 0x00FF #old_setting = WConio.gettextinfo()[4] & 0x00FF
def dmvc_copyright(): def dmvc_copyright():
print(Style.BRIGHT + Fore.WHITE + "----------------------------------------------------------------------------------------") print(Style.BRIGHT + Fore.WHITE + "------------------------------------------------------------------------------------------")
print(Fore.RED + " ** Delphi STOMP Client Building System **") print(Fore.RED + " ** Delphi STOMP Client Building System **")
print(Fore.WHITE + " Delphi STOMP Client is CopyRight (2010-2016) of Daniele Teti d.teti@bittime.it") print(Fore.WHITE + " Delphi STOMP Client is CopyRight (2010-2016) of Daniele Teti d.teti@bittime.it")
print(Fore.RESET + "----------------------------------------------------------------------------------------\n") print(Fore.RESET + "------------------------------------------------------------------------------------------\n")
## MAIN ## ## MAIN ##
projects = glob.glob("*\**\**\*.dproj") projects = glob.glob("examples\**\**\*.dproj")
projects += glob.glob("examples\**\*.dproj")
projects += glob.glob("tutorial\**\*.dproj")
main(projects) main(projects)
print(Style.RESET_ALL) print(Style.RESET_ALL)

View File

@ -1,20 +0,0 @@
<project name="MyProject" default="compile" basedir=".">
<target name="compile" description="Compiling..." >
<exec dir="." failonerror="true" searchpath="true" executable="msbuild.exe">
<arg value="examples\GlobalDemo\GlobalDemo\GlobalDemo.dproj"/>
<arg value="/nologo"/>
<arg value="/t:rebuild"/>
<arg value="/p:config=Release"/>
</exec>
<exec dir="." failonerror="true" searchpath="true" executable="msbuild.exe">
<arg value="examples\Chat\ChatClient\ChatClient.dproj"/>
</exec>
<exec dir="." failonerror="true" searchpath="true" executable="msbuild.exe">
<arg value="unittest\TestStompClient.dproj"/>
</exec>
<exec dir="." failonerror="true" searchpath="true" executable="unittest\TestStompClient.exe">
</exec>
<exec dir="." failonerror="true" searchpath="true" command="C:\tools\pasdoc\pasdoc.exe --output docs --name DelphiMSBuild2 --write-uses-list -S pasdocfiles.txt">
</exec>
</target>
</project>

View File

@ -11,7 +11,6 @@ object Form4: TForm4
Font.Name = 'Tahoma' Font.Name = 'Tahoma'
Font.Style = [] Font.Style = []
OldCreateOrder = False OldCreateOrder = False
OnClose = FormClose
DesignSize = ( DesignSize = (
527 527
506) 506)
@ -39,6 +38,5 @@ object Form4: TForm4
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
TabOrder = 1 TabOrder = 1
ExplicitHeight = 196
end end
end end

View File

@ -20,7 +20,6 @@ type
Button1: TButton; Button1: TButton;
Memo1: TMemo; Memo1: TMemo;
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private private
th0: IStompListener; th0: IStompListener;
th1: IStompListener; th1: IStompListener;
@ -56,47 +55,45 @@ var
stomp1: IStompClient; stomp1: IStompClient;
stomp2: IStompClient; stomp2: IStompClient;
begin begin
stomp0 := StompUtils.NewStomp; stomp0 := TStompClient.CreateAndConnect;
stomp0.Subscribe('/topic/daniele', amAuto, StompUtils.NewHeaders.Add('include-seq', 'seq')); stomp0.Subscribe('/topic/danieleteti', amAuto, StompUtils.NewHeaders.Add('include-seq', 'seq'));
th0 := TStompClientListener.Create(stomp0, TMyStompListener.Create); th0 := TStompClientListener.Create(stomp0, TMyStompListener.Create);
stomp1 := StompUtils.NewStomp; stomp1 := TStompClient.CreateAndConnect;
stomp1.Subscribe('/topic/daniele'); stomp1.Subscribe('/topic/danieleteti');
th1 := TStompClientListener.Create(stomp1, self); th1 := TStompClientListener.Create(stomp1, self);
stomp2 := StompUtils.NewStomp; stomp2 := TStompClient.CreateAndConnect;
stomp2.Subscribe('/topic/salvatore'); stomp2.Subscribe('/topic/salvatore');
th2 := TStompClientListener.Create(stomp2, self); th2 := TStompClientListener.Create(stomp2, self);
TThread.CreateAnonymousThread(procedure TThread.CreateAnonymousThread(
procedure
var var
i: Integer; i: Integer;
stomp: IStompClient; stomp: IStompClient;
begin begin
stomp := StompUtils.NewStomp; stomp := TStompClient.CreateAndConnect;
for i := 1 to 10 do for i := 1 to 10 do
begin begin
sleep(100); sleep(100);
stomp.Send('/topic/daniele,/topic/salvatore', 'Hello World ' + IntToStr(i)); stomp.Send('/topic/danieleteti', 'Hello World ' + IntToStr(i));
stomp.Send('/topic/salvatore', 'Hello World ' + IntToStr(i));
end; end;
stomp.Send('/topic/daniele,/topic/salvatore', 'SHUTDOWN'); stomp.Send('/topic/danieleteti', 'SHUTDOWN');
stomp.Send('/topic/johndoe', 'SHUTDOWN');
stomp.Disconnect; stomp.Disconnect;
end).Start; end).Start;
end; end;
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// th1.StopListening;
// th2.StopListening;
end;
procedure TForm4.OnMessage(StompClient: IStompClient; StompFrame: IStompFrame; procedure TForm4.OnMessage(StompClient: IStompClient; StompFrame: IStompFrame;
var StopListening: boolean); var StopListening: boolean);
begin begin
if StompFrame.GetBody = 'SHUTDOWN' then if StompFrame.GetBody = 'SHUTDOWN' then
StopListening := true; StopListening := true;
TThread.Synchronize(nil, procedure TThread.Synchronize(nil,
procedure
begin begin
Memo1.Lines.Add(StompFrame.GetBody); Memo1.Lines.Add(StompFrame.GetBody);
end); end);
@ -104,7 +101,8 @@ end;
procedure TForm4.OnStopListen(StompClient: IStompClient); procedure TForm4.OnStopListen(StompClient: IStompClient);
begin begin
TThread.Synchronize(nil, procedure TThread.Synchronize(nil,
procedure
begin begin
Memo1.Lines.Add(StompClient.GetSession + ' has been stopped'); Memo1.Lines.Add(StompClient.GetSession + ' has been stopped');
end); end);

View File

@ -1,7 +1,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{8D2FDF6A-BDF1-415B-BD5B-0A81737376AE}</ProjectGuid> <ProjectGuid>{8D2FDF6A-BDF1-415B-BD5B-0A81737376AE}</ProjectGuid>
<ProjectVersion>13.4</ProjectVersion> <ProjectVersion>18.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType> <FrameworkType>VCL</FrameworkType>
<MainSource>MultipleStomp.dpr</MainSource> <MainSource>MultipleStomp.dpr</MainSource>
<Base>True</Base> <Base>True</Base>
@ -13,13 +13,13 @@
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win64>true</Base_Win64> <Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win32>true</Base_Win32> <Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
@ -40,16 +40,15 @@
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''"> <PropertyGroup Condition="'$(Base)'!=''">
<SanitizedProjectName>MultipleStomp</SanitizedProjectName>
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace> <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> <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
<DCC_UsePackage>bindcompfmx;fmx;rtl;dbrtl;IndySystem;DbxClientDriver;bindcomp;inetdb;DBXInterBaseDriver;DataSnapCommon;DataSnapClient;DataSnapServer;DataSnapProviderClient;xmlrtl;ibxpress;DbxCommonDriver;IndyProtocols;DBXMySQLDriver;dbxcds;bindengine;soaprtl;DBXOracleDriver;CustomIPTransport;AureliusXE2;dsnap;DBXInformixDriver;IndyCore;fmxase;DBXFirebirdDriver;inet;fmxobj;LKSL;inetdbxpress;DBXSybaseASADriver;fmxdae;dbexpress;DataSnapIndy10ServerTransport;IPIndyImpl;$(DCC_UsePackage)</DCC_UsePackage> <DCC_UsePackage>bindcompfmx;fmx;rtl;dbrtl;IndySystem;DbxClientDriver;bindcomp;inetdb;DBXInterBaseDriver;DataSnapCommon;DataSnapClient;DataSnapServer;DataSnapProviderClient;xmlrtl;ibxpress;DbxCommonDriver;IndyProtocols;DBXMySQLDriver;dbxcds;bindengine;soaprtl;DBXOracleDriver;CustomIPTransport;AureliusXE2;dsnap;DBXInformixDriver;IndyCore;fmxase;DBXFirebirdDriver;inet;fmxobj;LKSL;inetdbxpress;DBXSybaseASADriver;fmxdae;dbexpress;DataSnapIndy10ServerTransport;IPIndyImpl;$(DCC_UsePackage)</DCC_UsePackage>
<DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput> <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput> <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<DCC_UsePackage>TeeDB;vclib;DBXOdbcDriver;Tee;DBXSybaseASEDriver;vclimg;vclactnband;vcldb;vcldsnap;bindcompvcl;TeeUI;vclie;vcltouch;DBXDb2Driver;websnap;VclSmp;vcl;DataSnapConnectors;DBXMSSQLDriver;dsnapcon;vclx;webdsnap;adortl;$(DCC_UsePackage)</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''"> <PropertyGroup Condition="'$(Base_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<DCC_UsePackage>OpenWirePkgD16;vcldbx;frx16;TeeDB;DotNet4Delphi_XE2;Rave100VCL;vclib;inetdbbde;DBXOdbcDriver;crcontrols160;Tee;DBXSybaseASEDriver;svnui;vclimg;frxDB16;intrawebdb_120_160;fmi;fs16;vclactnband;vcldb;FMXTee;vcldsnap;bindcompvcl;dac160;TeeUI;vclie;unidacvcl160;vcltouch;Intraweb_120_160;DBXDb2Driver;websnap;dwsLibRuntime;dacvcl160;vclribbon;frxe16;VclSmp;fsDB16;vcl;DataSnapConnectors;CloudService;DBXMSSQLDriver;CodeSiteExpressPkg;dsnapcon;unidac160;RlxPackage;FmxTeeUI;vclx;Lua4Delphi;webdsnap;svn;bdertl;adortl;$(DCC_UsePackage)</DCC_UsePackage> <DCC_UsePackage>OpenWirePkgD16;vcldbx;frx16;TeeDB;DotNet4Delphi_XE2;Rave100VCL;vclib;inetdbbde;DBXOdbcDriver;crcontrols160;Tee;DBXSybaseASEDriver;svnui;vclimg;frxDB16;intrawebdb_120_160;fmi;fs16;vclactnband;vcldb;FMXTee;vcldsnap;bindcompvcl;dac160;TeeUI;vclie;unidacvcl160;vcltouch;Intraweb_120_160;DBXDb2Driver;websnap;dwsLibRuntime;dacvcl160;vclribbon;frxe16;VclSmp;fsDB16;vcl;DataSnapConnectors;CloudService;DBXMSSQLDriver;CodeSiteExpressPkg;dsnapcon;unidac160;RlxPackage;FmxTeeUI;vclx;Lua4Delphi;webdsnap;svn;bdertl;adortl;$(DCC_UsePackage)</DCC_UsePackage>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
@ -57,6 +56,9 @@
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<DCC_UsePackage>TeeDB;vclib;DBXOdbcDriver;Tee;DBXSybaseASEDriver;vclimg;vclactnband;vcldb;vcldsnap;bindcompvcl;TeeUI;vclie;vcltouch;DBXDb2Driver;websnap;VclSmp;vcl;DataSnapConnectors;DBXMSSQLDriver;dsnapcon;vclx;webdsnap;adortl;$(DCC_UsePackage)</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''"> <PropertyGroup Condition="'$(Cfg_1)'!=''">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_Optimize>false</DCC_Optimize> <DCC_Optimize>false</DCC_Optimize>
@ -71,7 +73,7 @@
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_DebugInformation>false</DCC_DebugInformation> <DCC_DebugInformation>0</DCC_DebugInformation>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<DelphiCompile Include="$(MainSource)"> <DelphiCompile Include="$(MainSource)">
@ -143,14 +145,403 @@
<Source Name="MainSource">MultipleStomp.dpr</Source> <Source Name="MainSource">MultipleStomp.dpr</Source>
</Source> </Source>
</Delphi.Personality> </Delphi.Personality>
<Deployment/> <Deployment Version="3">
<DeployClass Name="DependencyModule">
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="Win32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch768">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon144">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="ProjectOutput">
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
<Platform Name="Linux64">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1024">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch320">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSInfoPList">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1536">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage640">
<Platform Name="Android">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640x1136">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSEntitlements">
<Platform Name="iOSDevice64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</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="ProjectOSXInfoPList">
<Platform Name="OSX32">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXEntitlements">
<Platform Name="OSX32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>0</Operation>
</Platform>
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="DependencyPackage">
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage960">
<Platform Name="Android">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceResourceRules">
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<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="iOSSimulator" Name="$(PROJECTNAME).app"/>
</Deployment>
<Platforms> <Platforms>
<Platform value="Win64">False</Platform>
<Platform value="Win32">True</Platform> <Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform>
</Platforms> </Platforms>
</BorlandProject> </BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion> <ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions> </ProjectExtensions>
<Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/> <Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
<Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/> <Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
</Project> </Project>