From cbc37640d4555c8c5d796fdc01b927840c024ded Mon Sep 17 00:00:00 2001 From: danieleteti Date: Tue, 20 Sep 2016 16:07:05 +0200 Subject: [PATCH 1/2] Added publish/subscribe sample --- tutorial/20_WorkQueues/consumer.dproj | 34 +- tutorial/20_WorkQueues/producer.dpr | 8 +- tutorial/20_WorkQueues/producer.dproj | 34 +- tutorial/30_PublishSubscribe/Group.groupproj | 48 ++ tutorial/30_PublishSubscribe/consumer.dpr | 63 ++ tutorial/30_PublishSubscribe/consumer.dproj | 577 +++++++++++++++++++ tutorial/30_PublishSubscribe/consumer.res | Bin 0 -> 96 bytes tutorial/30_PublishSubscribe/producer.dpr | 58 ++ tutorial/30_PublishSubscribe/producer.dproj | 577 +++++++++++++++++++ tutorial/30_PublishSubscribe/producer.res | Bin 0 -> 96 bytes 10 files changed, 1361 insertions(+), 38 deletions(-) create mode 100644 tutorial/30_PublishSubscribe/Group.groupproj create mode 100644 tutorial/30_PublishSubscribe/consumer.dpr create mode 100644 tutorial/30_PublishSubscribe/consumer.dproj create mode 100644 tutorial/30_PublishSubscribe/consumer.res create mode 100644 tutorial/30_PublishSubscribe/producer.dpr create mode 100644 tutorial/30_PublishSubscribe/producer.dproj create mode 100644 tutorial/30_PublishSubscribe/producer.res diff --git a/tutorial/20_WorkQueues/consumer.dproj b/tutorial/20_WorkQueues/consumer.dproj index b6da728d..306d9db0 100644 --- a/tutorial/20_WorkQueues/consumer.dproj +++ b/tutorial/20_WorkQueues/consumer.dproj @@ -172,27 +172,12 @@ true - - - 0 - .dll;.bpl - + 1 - .dylib - - - Contents\MacOS - 1 - .dylib 1 - .dylib - - - 1 - .dylib @@ -543,12 +528,27 @@ 1 - + + + 0 + .dll;.bpl + 1 + .dylib + + + Contents\MacOS + 1 + .dylib 1 + .dylib + + + 1 + .dylib diff --git a/tutorial/20_WorkQueues/producer.dpr b/tutorial/20_WorkQueues/producer.dpr index de35ea74..4e3ab42d 100644 --- a/tutorial/20_WorkQueues/producer.dpr +++ b/tutorial/20_WorkQueues/producer.dpr @@ -10,12 +10,12 @@ program producer; uses System.SysUtils, - StompClient; + StompClient, StompTypes; procedure Main; var lClient: TStompClient; - lMessage: String; + lMessage: string; begin lClient := TStompClient.Create; lClient.Connect(); @@ -24,11 +24,11 @@ begin WriteLn(' empty message will terminate the program.'); lMessage := ''; repeat - Write('Message to send: '); + write('Message to send: '); Readln(lMessage); if not lMessage.IsEmpty then begin - lClient.Send('myjobqueue', lMessage); + lClient.Send('/queue/myjobqueue', lMessage, StompUtils.Headers.Add('auto-delete', 'true')); end; until lMessage.IsEmpty; WriteLn('bye bye'); diff --git a/tutorial/20_WorkQueues/producer.dproj b/tutorial/20_WorkQueues/producer.dproj index 3bbdc8f3..37e89e12 100644 --- a/tutorial/20_WorkQueues/producer.dproj +++ b/tutorial/20_WorkQueues/producer.dproj @@ -172,12 +172,27 @@ true - + + + 0 + .dll;.bpl + 1 + .dylib + + + Contents\MacOS + 1 + .dylib 1 + .dylib + + + 1 + .dylib @@ -528,27 +543,12 @@ 1 - - - 0 - .dll;.bpl - + 1 - .dylib - - - Contents\MacOS - 1 - .dylib 1 - .dylib - - - 1 - .dylib diff --git a/tutorial/30_PublishSubscribe/Group.groupproj b/tutorial/30_PublishSubscribe/Group.groupproj new file mode 100644 index 00000000..18f502ca --- /dev/null +++ b/tutorial/30_PublishSubscribe/Group.groupproj @@ -0,0 +1,48 @@ + + + {907BD3D5-945B-422A-B395-708289F0C4BD} + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tutorial/30_PublishSubscribe/consumer.dpr b/tutorial/30_PublishSubscribe/consumer.dpr new file mode 100644 index 00000000..f4ac87e9 --- /dev/null +++ b/tutorial/30_PublishSubscribe/consumer.dpr @@ -0,0 +1,63 @@ +program consumer; + +{$APPTYPE CONSOLE} + +{$R *.res} + +{ + https://www.rabbitmq.com/tutorials/tutorial-three-python.html +} + +uses + System.SysUtils, StompClient, StompTypes; + +procedure Main; +var + lClient: TStompClient; + lStompFrame: IStompFrame; + lMessage: string; +begin + lClient := TStompClient.Create; + lClient.Connect(); + WriteLn('Subscribing to queue "myjobqueue"'); + lClient.Subscribe('/topic/mytopic', + TAckMode.amClient + // ,StompUtils.Headers + // .Add('auto-delete', 'true') + ); + + while true do + begin + WriteLn(sLineBreak + 'Waiting for messages... (KILL program to exit)' + sLineBreak + + StringOfChar('*', 40)); + + if lClient.Receive(lStompFrame, 5000) then + begin + lMessage := lStompFrame.GetBody; + WriteLn(Format('Got message [%s]. Please wait, I''m working on it...', [lMessage])); + Sleep(1000 * lMessage.CountChar('.')); + WriteLn(lMessage); + WriteLn('Informing the broker that the message ' + lStompFrame.MessageID + + ' has been properly processed'); + lClient.Ack(lStompFrame.MessageID); + end + else + WriteLn('Cannot read message after timeout...'); + end; + lClient.Disconnect; +end; + +begin + try + Main; + write('Press return to quit'); + ReadLn; + except + on E: Exception do + begin + WriteLn(E.ClassName, ': ', E.Message); + ReadLn; + end; + end; + +end. diff --git a/tutorial/30_PublishSubscribe/consumer.dproj b/tutorial/30_PublishSubscribe/consumer.dproj new file mode 100644 index 00000000..306d9db0 --- /dev/null +++ b/tutorial/30_PublishSubscribe/consumer.dproj @@ -0,0 +1,577 @@ + + + {4183EAA7-A80E-4B65-B1D8-CB75B54ABF39} + 18.1 + None + consumer.dpr + True + Debug + Win32 + 1 + Console + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + consumer + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + + + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + + + DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + + + DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + + + DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IupOrmProject;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + + + true + DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;RosiComp2010;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;JvGlobus;FireDACADSDriver;JvPluginSystem;DBXMSSQLDriver;JvMM;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;PngComponentsD;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvNet;DBXOracleDriver;JvJans;rDBGridSorters;inetdb;FrameViewerXE8;VirtualTreesDR;JvAppFrm;FmxTeeUI;emsedge;JvDotNetCtrls;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;frx24;vclib;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;vclx;JvPageComps;dsnap;emsclient;DataSnapCommon;FireDACCommon;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;JclDeveloperTools;SampleListViewRatingsAppearancePackage;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;JvCmp;JvHMI;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IupOrmProject;IndyIPCommon;bindcompdbx;TsiLang_XE101r;JvCustom;vcl;IndyIPServer;DBXSybaseASEDriver;JvXPCtrls;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;emshosting;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;ibxpress;Tee;JvManagedThreads;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;JvTimeFramework;DBXSybaseASADriver;frxTee24;CustomIPTransport;vcldsnap;JvSystem;JvStdCtrls;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;frxe24;TeeUI;TGridExtendedColumns;dbxcds;VclSmp;JvPascalInterpreter;adortl;FireDACODBCDriver;JvDocking;JclVcl;DataSnapIndy10ServerTransport;frxDB24;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;JvControls;JvPrintPreview;JclContainers;DataSnapServerMidas;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + + + DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;PngComponentsD;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;VirtualTreesDR;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) + true + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Application + + + + consumer.dpr + + + + + + true + + + + + true + + + + + true + + + + + true + + + + + consumer.exe + true + + + + + 1 + + + 1 + + + + + Contents\Resources + 1 + + + + + classes + 1 + + + + + Contents\MacOS + 0 + + + 1 + + + Contents\MacOS + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + library\lib\mips + 1 + + + + + 1 + + + 1 + + + 0 + + + 1 + + + Contents\MacOS + 1 + + + library\lib\armeabi-v7a + 1 + + + 1 + + + + + 0 + + + Contents\MacOS + 1 + .framework + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi + 1 + + + + + 0 + + + 1 + + + Contents\MacOS + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-large + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + res\drawable-hdpi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + Contents + 1 + + + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + res\drawable + 1 + + + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + 0 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 0 + .bpl + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\drawable-ldpi + 1 + + + + + 0 + .dll;.bpl + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + + + + + + + + + False + False + False + False + True + False + + + 12 + + + + + diff --git a/tutorial/30_PublishSubscribe/consumer.res b/tutorial/30_PublishSubscribe/consumer.res new file mode 100644 index 0000000000000000000000000000000000000000..743599575b02e97248bade49ed2e3eabafe25a0a GIT binary patch literal 96 zcmZQzU|>)H;{X347|28cOhBFu5dZ(r#Sp;Y!{Epe!r;c>&k)4m3uHM0X?F%!AS)QE O%YcEC1!e#vkO2UW7YiT& literal 0 HcmV?d00001 diff --git a/tutorial/30_PublishSubscribe/producer.dpr b/tutorial/30_PublishSubscribe/producer.dpr new file mode 100644 index 00000000..dc4e5510 --- /dev/null +++ b/tutorial/30_PublishSubscribe/producer.dpr @@ -0,0 +1,58 @@ +program producer; + +{$APPTYPE CONSOLE} + +{$R *.res} + +{ + https://www.rabbitmq.com/tutorials/tutorial-three-python.html +} + +uses + System.SysUtils, + StompClient, StompTypes; + +procedure Main; +var + lClient: TStompClient; + lMessage: string; +begin + lClient := TStompClient.Create; + lClient.Connect; + WriteLn('Sending messages to topic "mytopic"'); + WriteLn('NOTE: Consumers will wait a second for each "." present in the message.'); + WriteLn(' empty message will terminate the program.'); + lMessage := ''; + repeat + write('Message to send: '); + Readln(lMessage); + if not lMessage.IsEmpty then + begin + lClient.Send('/topic/mytopic', lMessage); + // Server can replyes with an ERROR. + // Server Errors raise exception automatically in the client, + // so we can just "try" to read something. + // If you need to understand the type of the error you can + // read the message normally and check the body. + lClient.Receive(100); + end + else + WriteLn('Nothing to send... we are not kidding here bro!'); + until lMessage.IsEmpty; + WriteLn('bye bye'); + lClient.Disconnect; +end; + +begin + try + Main; + Readln; + except + on E: Exception do + begin + WriteLn(E.ClassName, ': ', E.Message); + Readln; + end; + end; + +end. diff --git a/tutorial/30_PublishSubscribe/producer.dproj b/tutorial/30_PublishSubscribe/producer.dproj new file mode 100644 index 00000000..37e89e12 --- /dev/null +++ b/tutorial/30_PublishSubscribe/producer.dproj @@ -0,0 +1,577 @@ + + + {4FF7412D-F09C-4737-A31E-C60B0CBD770A} + 18.1 + None + producer.dpr + True + Debug + Win32 + 1 + Console + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + producer + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + + + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + + + DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + + + DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + + + DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IupOrmProject;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + + + true + DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;RosiComp2010;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;JvGlobus;FireDACADSDriver;JvPluginSystem;DBXMSSQLDriver;JvMM;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;PngComponentsD;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvNet;DBXOracleDriver;JvJans;rDBGridSorters;inetdb;FrameViewerXE8;VirtualTreesDR;JvAppFrm;FmxTeeUI;emsedge;JvDotNetCtrls;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;frx24;vclib;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;vclx;JvPageComps;dsnap;emsclient;DataSnapCommon;FireDACCommon;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;JclDeveloperTools;SampleListViewRatingsAppearancePackage;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;JvCmp;JvHMI;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IupOrmProject;IndyIPCommon;bindcompdbx;TsiLang_XE101r;JvCustom;vcl;IndyIPServer;DBXSybaseASEDriver;JvXPCtrls;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;emshosting;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;ibxpress;Tee;JvManagedThreads;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;JvTimeFramework;DBXSybaseASADriver;frxTee24;CustomIPTransport;vcldsnap;JvSystem;JvStdCtrls;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;frxe24;TeeUI;TGridExtendedColumns;dbxcds;VclSmp;JvPascalInterpreter;adortl;FireDACODBCDriver;JvDocking;JclVcl;DataSnapIndy10ServerTransport;frxDB24;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;JvControls;JvPrintPreview;JclContainers;DataSnapServerMidas;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + + + DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;PngComponentsD;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;VirtualTreesDR;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;ibxbindings;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) + true + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Application + + + + producer.dpr + + + + + + true + + + + + true + + + + + true + + + + + true + + + + + producer.exe + true + + + + + 0 + .dll;.bpl + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + Contents\Resources + 1 + + + + + classes + 1 + + + + + Contents\MacOS + 0 + + + 1 + + + Contents\MacOS + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + library\lib\mips + 1 + + + + + 1 + + + 1 + + + 0 + + + 1 + + + Contents\MacOS + 1 + + + library\lib\armeabi-v7a + 1 + + + 1 + + + + + 0 + + + Contents\MacOS + 1 + .framework + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi + 1 + + + + + 0 + + + 1 + + + Contents\MacOS + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-large + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + res\drawable-hdpi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + Contents + 1 + + + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + res\drawable + 1 + + + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + 0 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 0 + .bpl + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\drawable-ldpi + 1 + + + + + 1 + + + 1 + + + + + + + + + + + + + False + False + False + False + True + False + + + 12 + + + + + diff --git a/tutorial/30_PublishSubscribe/producer.res b/tutorial/30_PublishSubscribe/producer.res new file mode 100644 index 0000000000000000000000000000000000000000..743599575b02e97248bade49ed2e3eabafe25a0a GIT binary patch literal 96 zcmZQzU|>)H;{X347|28cOhBFu5dZ(r#Sp;Y!{Epe!r;c>&k)4m3uHM0X?F%!AS)QE O%YcEC1!e#vkO2UW7YiT& literal 0 HcmV?d00001 From 6f295d952b569950a9b72886151878c47b2bda79 Mon Sep 17 00:00:00 2001 From: danieleteti Date: Tue, 20 Sep 2016 16:27:17 +0200 Subject: [PATCH 2/2] Fixed some demo --- StompTypes.pas | 1 + build.py | 21 +- build.xml | 20 - examples/Chat/ChatClient/ChatClient.res | Bin 57492 -> 58716 bytes examples/GlobalDemo/GlobalDemo/GlobalDemo.res | Bin 58272 -> 59012 bytes examples/GlobalDemo/GlobalDemo/Receiver.res | Bin 58272 -> 59012 bytes examples/Multiple/MainForm.dfm | 2 - examples/Multiple/MainForm.pas | 34 +- examples/Multiple/MultipleStomp.dproj | 703 ++++++++++++++---- 9 files changed, 576 insertions(+), 205 deletions(-) delete mode 100644 build.xml diff --git a/StompTypes.pas b/StompTypes.pas index 22d7952c..e3913d86 100644 --- a/StompTypes.pas +++ b/StompTypes.pas @@ -195,6 +195,7 @@ type procedure OnStopListen(StompClient: IStompClient); end; + { TODO -oDaniele -cGeneral : Use TThread by composition and not by inheritance } TStompClientListener = class(TThread, IStompListener) strict protected FStompClientListener: IStompClientListener; diff --git a/build.py b/build.py index d5b61fd2..b74ad808 100644 --- a/build.py +++ b/build.py @@ -22,8 +22,8 @@ def buildProject(project): def summaryTable(builds): print(ansi.clear_screen()) dmvc_copyright() - print(Fore.WHITE + "PROJECT NAME".ljust(90) + "STATUS".ljust(10)) - print(Fore.YELLOW + "=" * 100) + print(Fore.WHITE + "PROJECT NAME".ljust(80) + "STATUS".ljust(10)) + print(Fore.YELLOW + "=" * 90) good = bad = 0 for item in builds: if item['status'] == 'ok': @@ -32,14 +32,14 @@ def summaryTable(builds): else: #WConio.textcolor(WConio.RED) 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) - print(Fore.YELLOW + "=" * 100) + print(Fore.YELLOW + "=" * 90) #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) - 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 def dmvc_copyright(): - print(Style.BRIGHT + Fore.WHITE + "----------------------------------------------------------------------------------------") + print(Style.BRIGHT + Fore.WHITE + "------------------------------------------------------------------------------------------") 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.RESET + "----------------------------------------------------------------------------------------\n") + print(Fore.RESET + "------------------------------------------------------------------------------------------\n") ## MAIN ## -projects = glob.glob("*\**\**\*.dproj") +projects = glob.glob("examples\**\**\*.dproj") +projects += glob.glob("examples\**\*.dproj") +projects += glob.glob("tutorial\**\*.dproj") + main(projects) print(Style.RESET_ALL) \ No newline at end of file diff --git a/build.xml b/build.xml deleted file mode 100644 index 2b98cfbd..00000000 --- a/build.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/examples/Chat/ChatClient/ChatClient.res b/examples/Chat/ChatClient/ChatClient.res index d070105828b2d264cf07a0a26a36211fdd78c525..df816d2ce26fa02a917c6273326d7ef2f3c36e93 100644 GIT binary patch delta 1246 zcmbu9%}(4f5P(zBOOUwt==yFF$4)juSrAgGv{I!aLFw6v$6z&yw{dm>p(+p2K10ua zgS^gzq*rA6P zp}cEnwwpA{JW@fgy0u^z=OQhXvsQQ4`wP)2TKGJ3b%8u?^;}nQ4t8lb@531s=sf4&3`zGeYCUf=VCgobm_%PtZh;aeo6*NGXp;gvLA}oRu*Vu>ul? zsRRHfnF_zSnG6Lzg+JQJzF{%#Sz2U*#4>YiRY;OTB#DSP52Gkn850BhiRg4Qnu|z9 zDX^ZztjGxGoRUIhC6P%cx!@uJmOcl)OE<%*N=8XJN=O>^KnagnMzXjlNXlfW5*bP{ zdJde1o7pLZY9wex3RN(|j}@fEoj^=@s$?7r8jEZ(bKm!e6%78{!8};o)nVC#3>D|Bfo=)Dk-nO4l-@mqYi+a-FytHLi&Tk&@qu;Gm z23M>U>F&Vr4{;lVfu}-QCn35?-Q7AwaJW#5g_g**==v{yKZ-2Jl zEff>l8iY$?^M;TIOfQ)>hdubs#IK)NT%4Mllv8QP%f-OJFxlmq0{}964rTxV diff --git a/examples/GlobalDemo/GlobalDemo/Receiver.res b/examples/GlobalDemo/GlobalDemo/Receiver.res index 290ba59fc4e435bca13bdf83a6069f0fbd7f6089..49961f02955af7f4410053f2134beb8e80153c40 100644 GIT binary patch delta 753 zcmbu7KS~2Z6o3>D|Bfo=)Dk-nO4l-@mqYi+a-FytHLi&Tk&@qu;Gm z23M>U>F&Vr4{;lVfu}-QCn35?-Q7AwaJW#5g_g**==v{yKZ-2Jl zEff>l8iY$?^M;TIOfQ)>hdubs#IK)NT%4Mllv8QP%f-OJFxlmq0{}964rTxV diff --git a/examples/Multiple/MainForm.dfm b/examples/Multiple/MainForm.dfm index 6ea6b429..0d574f9d 100644 --- a/examples/Multiple/MainForm.dfm +++ b/examples/Multiple/MainForm.dfm @@ -11,7 +11,6 @@ object Form4: TForm4 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False - OnClose = FormClose DesignSize = ( 527 506) @@ -39,6 +38,5 @@ object Form4: TForm4 Font.Style = [] ParentFont = False TabOrder = 1 - ExplicitHeight = 196 end end diff --git a/examples/Multiple/MainForm.pas b/examples/Multiple/MainForm.pas index ff7da7ce..8a9e95be 100644 --- a/examples/Multiple/MainForm.pas +++ b/examples/Multiple/MainForm.pas @@ -20,7 +20,6 @@ type Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); private th0: IStompListener; th1: IStompListener; @@ -56,47 +55,45 @@ var stomp1: IStompClient; stomp2: IStompClient; begin - stomp0 := StompUtils.NewStomp; - stomp0.Subscribe('/topic/daniele', amAuto, StompUtils.NewHeaders.Add('include-seq', 'seq')); + stomp0 := TStompClient.CreateAndConnect; + stomp0.Subscribe('/topic/danieleteti', amAuto, StompUtils.NewHeaders.Add('include-seq', 'seq')); th0 := TStompClientListener.Create(stomp0, TMyStompListener.Create); - stomp1 := StompUtils.NewStomp; - stomp1.Subscribe('/topic/daniele'); + stomp1 := TStompClient.CreateAndConnect; + stomp1.Subscribe('/topic/danieleteti'); th1 := TStompClientListener.Create(stomp1, self); - stomp2 := StompUtils.NewStomp; + stomp2 := TStompClient.CreateAndConnect; stomp2.Subscribe('/topic/salvatore'); th2 := TStompClientListener.Create(stomp2, self); - TThread.CreateAnonymousThread(procedure + TThread.CreateAnonymousThread( + procedure var i: Integer; stomp: IStompClient; begin - stomp := StompUtils.NewStomp; + stomp := TStompClient.CreateAndConnect; for i := 1 to 10 do begin 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; - stomp.Send('/topic/daniele,/topic/salvatore', 'SHUTDOWN'); + stomp.Send('/topic/danieleteti', 'SHUTDOWN'); + stomp.Send('/topic/johndoe', 'SHUTDOWN'); stomp.Disconnect; end).Start; end; -procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction); -begin - // th1.StopListening; - // th2.StopListening; -end; - procedure TForm4.OnMessage(StompClient: IStompClient; StompFrame: IStompFrame; var StopListening: boolean); begin if StompFrame.GetBody = 'SHUTDOWN' then StopListening := true; - TThread.Synchronize(nil, procedure + TThread.Synchronize(nil, + procedure begin Memo1.Lines.Add(StompFrame.GetBody); end); @@ -104,7 +101,8 @@ end; procedure TForm4.OnStopListen(StompClient: IStompClient); begin - TThread.Synchronize(nil, procedure + TThread.Synchronize(nil, + procedure begin Memo1.Lines.Add(StompClient.GetSession + ' has been stopped'); end); diff --git a/examples/Multiple/MultipleStomp.dproj b/examples/Multiple/MultipleStomp.dproj index ba3304f8..1a5ef506 100644 --- a/examples/Multiple/MultipleStomp.dproj +++ b/examples/Multiple/MultipleStomp.dproj @@ -1,156 +1,547 @@ - - - {8D2FDF6A-BDF1-415B-BD5B-0A81737376AE} - 13.4 - VCL - MultipleStomp.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - $(BDS)\bin\delphi_PROJECTICON.ico - 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) - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - - - 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) - - - 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) - true - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - 1033 - $(BDS)\bin\default_app.manifest - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - - - DEBUG;$(DCC_Define) - false - true - true - true - - - false - - - false - RELEASE;$(DCC_Define) - 0 - false - - - - MainSource - - -
Form4
- dfm -
- - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - - - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1040 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TeeChart Standard FMX Components - TeeChart Standard VCL Components - OpenWire Project (Design Time) - TMS Aurelius - Core Package - (untitled) - (untitled) - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - MultipleStomp.dpr - - - - - False - True - - - 12 - - - -
+ + + {8D2FDF6A-BDF1-415B-BD5B-0A81737376AE} + 18.1 + VCL + MultipleStomp.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + MultipleStomp + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + $(BDS)\bin\delphi_PROJECTICON.ico + 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) + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + + + true + 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) + true + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + $(BDS)\bin\default_app.manifest + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + + + 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) + + + DEBUG;$(DCC_Define) + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + +
Form4
+ dfm +
+ + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + + + + + False + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1040 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + TeeChart Standard FMX Components + TeeChart Standard VCL Components + OpenWire Project (Design Time) + TMS Aurelius - Core Package + (untitled) + (untitled) + Embarcadero C++Builder Office 2000 Servers Package + Embarcadero C++Builder Office XP Servers Package + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + MultipleStomp.dpr + + + + + + 0 + .dll;.bpl + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + Contents\Resources + 1 + + + + + classes + 1 + + + + + Contents\MacOS + 0 + + + 1 + + + Contents\MacOS + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + library\lib\mips + 1 + + + + + 1 + + + 1 + + + 0 + + + 1 + + + Contents\MacOS + 1 + + + library\lib\armeabi-v7a + 1 + + + 1 + + + + + 0 + + + Contents\MacOS + 1 + .framework + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi + 1 + + + + + 0 + + + 1 + + + Contents\MacOS + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-large + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + res\drawable-hdpi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + Contents + 1 + + + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + res\drawable + 1 + + + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + 0 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 0 + .bpl + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\drawable-ldpi + 1 + + + + + 1 + + + 1 + + + + + + + + + + + + + True + False + + + 12 + + + + +