BUG fixes + deprecations

This commit is contained in:
danieleteti 2016-06-28 15:21:47 +02:00
parent 022844ed8b
commit 805c6ae050
6 changed files with 787 additions and 408 deletions

View File

@ -34,6 +34,7 @@ uses
IdTCPClient, IdTCPClient,
IdException, IdException,
IdExceptionCore, IdExceptionCore,
IdHeaderList,
{$ELSE} {$ELSE}
synsock, synsock,
@ -84,7 +85,7 @@ type
procedure DeInit; procedure DeInit;
procedure MergeHeaders(var AFrame: IStompFrame; var AHeaders: IStompHeaders); procedure MergeHeaders(var AFrame: IStompFrame; var AHeaders: IStompHeaders);
procedure SendFrame(AFrame: IStompFrame); procedure SendFrame(AFrame: IStompFrame);
function FormatErrorFrame(const AErrorFrame: IStompFrame): String;
public public
function SetPassword(const Value: string): IStompClient; function SetPassword(const Value: string): IStompClient;
function SetUserName(const Value: string): IStompClient; function SetUserName(const Value: string): IStompClient;
@ -137,6 +138,7 @@ const
uses uses
// Windows, // Remove windows unit for compiling on ios // Windows, // Remove windows unit for compiling on ios
IdGlobal, IdGlobal,
IdGlobalProtocols,
Character; Character;
{$ENDIF} {$ENDIF}
@ -261,7 +263,7 @@ begin
while Frame = nil do while Frame = nil do
Frame := Receive; Frame := Receive;
if Frame.GetCommand = 'ERROR' then if Frame.GetCommand = 'ERROR' then
raise EStomp.Create(Frame.output); raise EStomp.Create(FormatErrorFrame(Frame));
if Frame.GetCommand = 'CONNECTED' then if Frame.GetCommand = 'CONNECTED' then
begin begin
FSession := Frame.GetHeaders.Value('session'); FSession := Frame.GetHeaders.Value('session');
@ -344,6 +346,13 @@ begin
DeInit; DeInit;
end; end;
function TStompClient.FormatErrorFrame(const AErrorFrame: IStompFrame): String;
begin
if AErrorFrame.GetCommand <> 'ERROR' then
raise EStomp.Create('Not an ERROR frame');
Result := AErrorFrame.GetHeaders.Value('message') + ': ' + AErrorFrame.GetBody;
end;
function TStompClient.GetProtocolVersion: string; function TStompClient.GetProtocolVersion: string;
begin begin
Result := FServerProtocolVersion; Result := FServerProtocolVersion;
@ -497,72 +506,115 @@ function TStompClient.Receive(ATimeout: Integer): IStompFrame;
{$ELSE} {$ELSE}
function InternalReceiveINDY(ATimeout: Integer): IStompFrame; function InternalReceiveINDY(ATimeout: Integer): IStompFrame;
var var
c: char; s: string;
sb: TStringBuilder; lSBuilder: TStringBuilder;
tout: boolean; Headers: TIdHeaderList;
FirstValidChar: boolean; ContentLength: Integer;
// UTF8Encoding: TEncoding; Charset: string;
{$IF CompilerVersion < 24} {$IF CompilerVersion < 24}
UTF8Encoding: TIdTextEncoding; Encoding: TIdTextEncoding;
FreeEncoding: boolean;
{$ELSE} {$ELSE}
UTF8Encoding: IIdTextEncoding; Encoding: IIdTextEncoding;
{$IFEND}
begin
{$IF CompilerVersion < 24}
UTF8Encoding := TEncoding.UTF8;
{$ELSE}
UTF8Encoding := IndyTextEncoding_UTF8();
{$ENDIF} {$ENDIF}
tout := False; begin
Result := nil; Result := nil;
lSBuilder := TStringBuilder.Create(1024 * 4);
try try
sb := TStringBuilder.Create(1024 * 4); FTCP.ReadTimeout := ATimeout;
FTCP.Socket.DefStringEncoding :=
{$IF CompilerVersion < 24}TIdTextEncoding.UTF8{$ELSE}IndyTextEncoding_UTF8{$ENDIF};
try try
FTCP.ReadTimeout := ATimeout; // read command line
repeat
s := FTCP.Socket.ReadLn;
until s <> '';
lSBuilder.Append(s + LF);
// read headers
Headers := TIdHeaderList.Create(QuotePlain);
try try
FirstValidChar := False; repeat
FTCP.Socket.CheckForDataOnSource(1); s := FTCP.Socket.ReadLn;
while True do lSBuilder.Append(s + LF);
begin if s = '' then
c := FTCP.Socket.ReadChar(UTF8Encoding);
if (c = LF) and (not FirstValidChar) then
Continue;
FirstValidChar := True;
if c <> CHAR0 then
sb.Append(c)
else
begin
// FTCP.IOHandler.ReadChar(TEncoding.UTF8);
Break; Break;
end; Headers.Add(s);
end; until False;
except
on E: EIdReadTimeout do // read body
//
// NOTE: non-text data really should be read as a Stream instead of a String!!!
//
if IsHeaderMediaType(Headers.Values['content-type'], 'text') then
begin begin
tout := True; Charset := Headers.Params['content-type', 'charset'];
end; if Charset = '' then
on E: Exception do Charset := 'utf-8';
Encoding := CharsetToEncoding(Charset);
{$IF CompilerVersion < 24}
FreeEncoding := True;
{$ENDIF}
end
else
begin begin
if sb.Length > 0 then Encoding := IndyTextEncoding_8Bit();
raise EStomp.Create(E.message + sLineBreak + sb.toString) {$IF CompilerVersion < 24}
FreeEncoding := False;
{$ENDIF}
end;
{$IF CompilerVersion < 24}
try
{$ENDIF}
if Headers.IndexOfName('content-length') <> -1 then
begin
// length specified, read exactly that many bytes
ContentLength := IndyStrToInt(Headers.Values['content-length']);
if ContentLength > 0 then
begin
s := FTCP.Socket.ReadString(ContentLength, Encoding);
lSBuilder.Append(s);
end;
// frame must still be terminated by a null
FTCP.Socket.ReadLn(#0);
end
else else
raise;
begin
// no length specified, body terminated by frame terminating null
s := FTCP.Socket.ReadLn(#0, Encoding);
lSBuilder.Append(s);
end;
lSBuilder.Append(#0);
{$IF CompilerVersion < 24}
finally
if FreeEncoding then
Encoding.Free;
end; end;
{$ENDIF}
finally
Headers.Free;
end; end;
if not tout then except
on E: Exception do
begin begin
Result := StompUtils.CreateFrame(sb.toString + CHAR0); if lSBuilder.Length > 0 then
if Result.GetCommand = 'ERROR' then raise EStomp.Create(E.message + sLineBreak + lSBuilder.toString)
raise EStomp.Create(Result.GetHeaders.Value('message')); else
raise;
end; end;
finally
sb.Free;
end;
except
on E: Exception do
begin
raise;
end; end;
Result := StompUtils.CreateFrame(lSBuilder.toString);
if Result.GetCommand = 'ERROR' then
raise EStomp.Create(FormatErrorFrame(Result));
finally
lSBuilder.Free;
end; end;
end; end;

View File

@ -108,10 +108,16 @@ type
procedure SetItems(index: Cardinal; const Value: TKeyValue); procedure SetItems(index: Cardinal; const Value: TKeyValue);
public public
class function NewDurableSubscriptionHeader(const SubscriptionName: string) class function NewDurableSubscriptionHeader(const SubscriptionName: string): TKeyValue;
: TKeyValue; deprecated 'Use Subscription instead';
class function NewPersistentHeader(const Value: Boolean): TKeyValue; class function NewPersistentHeader(const Value: Boolean): TKeyValue;
deprecated 'Use Persistent instead';
class function NewReplyToHeader(const DestinationName: string): TKeyValue; class function NewReplyToHeader(const DestinationName: string): TKeyValue;
deprecated 'Use ReplyTo instead';
class function Subscription(const SubscriptionName: string): TKeyValue;
class function Persistent(const Value: Boolean): TKeyValue;
class function ReplyTo(const DestinationName: string): TKeyValue;
/// /////////////////////////////////////////////7 /// /////////////////////////////////////////////7
const const
@ -198,7 +204,8 @@ type
class function StripLastChar(Buf: string; LastChar: char): string; class function StripLastChar(Buf: string; LastChar: char): string;
class function CreateFrame(Buf: string): TStompFrame; class function CreateFrame(Buf: string): TStompFrame;
class function AckModeToStr(AckMode: TAckMode): string; class function AckModeToStr(AckMode: TAckMode): string;
class function NewHeaders: IStompHeaders; class function NewHeaders: IStompHeaders; deprecated 'Use Headers instead';
class function Headers: IStompHeaders;
class function NewFrame: IStompFrame; class function NewFrame: IStompFrame;
class function TimestampAsDateTime(const HeaderValue: string): TDateTime; class function TimestampAsDateTime(const HeaderValue: string): TDateTime;
class function NewStomp(Host: string = '127.0.0.1'; class function NewStomp(Host: string = '127.0.0.1';
@ -207,12 +214,24 @@ type
AcceptVersion: TStompAcceptProtocol = STOMP_Version_1_0): IStompClient; AcceptVersion: TStompAcceptProtocol = STOMP_Version_1_0): IStompClient;
end; end;
function NewStompClient(Host: string = '127.0.0.1';
Port: Integer = DEFAULT_STOMP_PORT; ClientID: string = '';
const UserName: string = 'guest'; const Password: string = 'guest';
AcceptVersion: TStompAcceptProtocol = STOMP_Version_1_0): IStompClient;
implementation implementation
uses uses
Dateutils, Dateutils,
StompClient; StompClient;
function NewStompClient(Host: string; Port: Integer; ClientID: string;
const UserName, Password: string;
AcceptVersion: TStompAcceptProtocol): IStompClient;
begin
Result := StompUtils.NewStomp(Host, Port, ClientID, UserName, Password, AcceptVersion);
end;
class function StompUtils.NewStomp(Host: string = '127.0.0.1'; class function StompUtils.NewStomp(Host: string = '127.0.0.1';
Port: Integer = DEFAULT_STOMP_PORT; ClientID: string = ''; Port: Integer = DEFAULT_STOMP_PORT; ClientID: string = '';
const UserName: string = 'guest'; const Password: string = 'guest'; const UserName: string = 'guest'; const Password: string = 'guest';
@ -237,27 +256,24 @@ end;
class function TStompHeaders.NewDurableSubscriptionHeader(const SubscriptionName class function TStompHeaders.NewDurableSubscriptionHeader(const SubscriptionName
: string): TKeyValue; : string): TKeyValue;
begin begin
Result.Key := 'activemq.subscriptionName'; Result := Subscription(SubscriptionName);
Result.Value := SubscriptionName;
end; end;
class function TStompHeaders.NewPersistentHeader(const Value: Boolean) class function TStompHeaders.NewPersistentHeader(const Value: Boolean)
: TKeyValue; : TKeyValue;
begin begin
Result.Key := 'persistent'; Result := Persistent(Value);
Result.Value := LowerCase(BoolToStr(Value, true));
end; end;
class function TStompHeaders.NewReplyToHeader(const DestinationName: string) class function TStompHeaders.NewReplyToHeader(const DestinationName: string)
: TKeyValue; : TKeyValue;
begin begin
Result.Key := 'reply-to'; Result := ReplyTo(DestinationName);
Result.Value := DestinationName;
end; end;
class function StompUtils.NewHeaders: IStompHeaders; class function StompUtils.NewHeaders: IStompHeaders;
begin begin
Result := TStompHeaders.Create; Result := Headers;
end; end;
class function StompUtils.TimestampAsDateTime(const HeaderValue: string) class function StompUtils.TimestampAsDateTime(const HeaderValue: string)
@ -397,7 +413,7 @@ begin
other := StripLastChar(other, COMMAND_END); other := StripLastChar(other, COMMAND_END);
if TEncoding.UTF8.GetByteCount(other) <> contLen then if TEncoding.UTF8.GetByteCount(other) <> contLen then
// there is still the command_end // there is still the command_end
raise EStomp.Create('frame too short'); raise EStomp.Create('frame too short');
Result.Body := other; Result.Body := other;
end end
@ -420,6 +436,11 @@ begin
end; end;
end; end;
class function StompUtils.Headers: IStompHeaders;
begin
Result := TStompHeaders.Create;
end;
class function StompUtils.NewFrame: IStompFrame; class function StompUtils.NewFrame: IStompFrame;
begin begin
Result := TStompFrame.Create; Result := TStompFrame.Create;
@ -506,6 +527,12 @@ begin
Result := LINE_END; Result := LINE_END;
end; end;
class function TStompHeaders.Persistent(const Value: Boolean): TKeyValue;
begin
Result.Key := 'persistent';
Result.Value := LowerCase(BoolToStr(Value, true));
end;
function TStompHeaders.Remove(Key: string): IStompHeaders; function TStompHeaders.Remove(Key: string): IStompHeaders;
var var
p: Integer; p: Integer;
@ -516,6 +543,12 @@ begin
Result := self; Result := self;
end; end;
class function TStompHeaders.ReplyTo(const DestinationName: string): TKeyValue;
begin
Result.Key := 'reply-to';
Result.Value := DestinationName;
end;
procedure TStompHeaders.SetItems(index: Cardinal; const Value: TKeyValue); procedure TStompHeaders.SetItems(index: Cardinal; const Value: TKeyValue);
var var
p: Integer; p: Integer;
@ -530,6 +563,13 @@ begin
raise EStomp.Create('Error SetItems'); raise EStomp.Create('Error SetItems');
end; end;
class function TStompHeaders.Subscription(
const SubscriptionName: string): TKeyValue;
begin
Result.Key := 'id';
Result.Value := SubscriptionName;
end;
function TStompHeaders.Value(Key: string): string; function TStompHeaders.Value(Key: string): string;
var var
i: Integer; i: Integer;
@ -555,7 +595,7 @@ var
frame: IStompFrame; frame: IStompFrame;
StopListen: Boolean; StopListen: Boolean;
begin begin
StopListen := False; StopListen := false;
while not terminated do while not terminated do
begin begin
if FStompClient.Receive(frame, 1000) then if FStompClient.Receive(frame, 1000) then

View File

@ -144,8 +144,8 @@ begin
begin begin
stomp.Send('/topic/foo.bar', message_data, stomp.Send('/topic/foo.bar', message_data,
StompUtils.NewHeaders.Add(TStompHeaders.NewPersistentHeader(true))); StompUtils.NewHeaders.Add(TStompHeaders.NewPersistentHeader(true)));
//if i mod 100 = 0 then // if i mod 100 = 0 then
WriteLn('Queued ', i, ' messages in ', sw.ElapsedMilliseconds, ' ms'); WriteLn('Queued ', i, ' messages in ', sw.ElapsedMilliseconds, ' ms');
end; end;
WriteLn('Finished Queueing... Currently Queued ', MSG, ' messages in ', WriteLn('Finished Queueing... Currently Queued ', MSG, ' messages in ',
sw.ElapsedMilliseconds, ' ms'); sw.ElapsedMilliseconds, ' ms');

View File

@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>teststompclient.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>teststompclient.exe</DCC_DependencyCheckOutputName>
<ProjectVersion>16.1</ProjectVersion> <ProjectVersion>18.1</ProjectVersion>
<Config Condition="'$(Config)'==''">Debug</Config> <Config Condition="'$(Config)'==''">Debug</Config>
<Base>True</Base> <Base>True</Base>
<AppType>Console</AppType> <AppType>Console</AppType>
@ -16,6 +16,26 @@
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Android' and '$(Base)'=='true') or '$(Base_Android)'!=''">
<Base_Android>true</Base_Android>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice32' and '$(Base)'=='true') or '$(Base_iOSDevice32)'!=''">
<Base_iOSDevice32>true</Base_iOSDevice32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Base)'=='true') or '$(Base_iOSDevice64)'!=''">
<Base_iOSDevice64>true</Base_iOSDevice64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSSimulator' and '$(Base)'=='true') or '$(Base_iOSSimulator)'!=''">
<Base_iOSSimulator>true</Base_iOSSimulator>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32> <Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
@ -31,6 +51,24 @@
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice32' and '$(Cfg_2)'=='true') or '$(Cfg_2_iOSDevice32)'!=''">
<Cfg_2_iOSDevice32>true</Cfg_2_iOSDevice32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Cfg_2)'=='true') or '$(Cfg_2_iOSDevice64)'!=''">
<Cfg_2_iOSDevice64>true</Cfg_2_iOSDevice64>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSSimulator' and '$(Cfg_2)'=='true') or '$(Cfg_2_iOSSimulator)'!=''">
<Cfg_2_iOSSimulator>true</Cfg_2_iOSSimulator>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''"> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32> <Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent> <CfgParent>Cfg_2</CfgParent>
@ -42,7 +80,27 @@
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice32' and '$(Cfg_3)'=='true') or '$(Cfg_3_iOSDevice32)'!=''">
<Cfg_3_iOSDevice32>true</Cfg_3_iOSDevice32>
<CfgParent>Cfg_3</CfgParent>
<Cfg_3>true</Cfg_3>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Cfg_3)'=='true') or '$(Cfg_3_iOSDevice64)'!=''">
<Cfg_3_iOSDevice64>true</Cfg_3_iOSDevice64>
<CfgParent>Cfg_3</CfgParent>
<Cfg_3>true</Cfg_3>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSSimulator' and '$(Cfg_3)'=='true') or '$(Cfg_3_iOSSimulator)'!=''">
<Cfg_3_iOSSimulator>true</Cfg_3_iOSSimulator>
<CfgParent>Cfg_3</CfgParent>
<Cfg_3>true</Cfg_3>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''"> <PropertyGroup Condition="'$(Base)'!=''">
<Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
<Icns_MainIcns>$(BDS)\bin\delphi_PROJECTICNS.icns</Icns_MainIcns>
<SanitizedProjectName>teststompclient</SanitizedProjectName> <SanitizedProjectName>teststompclient</SanitizedProjectName>
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace> <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace>
<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>
@ -50,6 +108,85 @@
<DCC_UnitSearchPath>..\lib\synapse;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> <DCC_UnitSearchPath>..\lib\synapse;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<DCC_DependencyCheckOutputName>teststompclient.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>teststompclient.exe</DCC_DependencyCheckOutputName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Base_Android)'!=''">
<Android_LauncherIcon48>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png</Android_LauncherIcon48>
<Android_SplashImage640>$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png</Android_SplashImage640>
<AUP_CALL_PHONE>true</AUP_CALL_PHONE>
<Android_LauncherIcon36>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png</Android_LauncherIcon36>
<AUP_WRITE_CALENDAR>true</AUP_WRITE_CALENDAR>
<Android_SplashImage426>$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png</Android_SplashImage426>
<Android_SplashImage470>$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png</Android_SplashImage470>
<AUP_ACCESS_FINE_LOCATION>true</AUP_ACCESS_FINE_LOCATION>
<AUP_READ_EXTERNAL_STORAGE>true</AUP_READ_EXTERNAL_STORAGE>
<Android_LauncherIcon96>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png</Android_LauncherIcon96>
<EnabledSysJars>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</EnabledSysJars>
<Android_LauncherIcon72>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png</Android_LauncherIcon72>
<VerInfo_Keys>package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=</VerInfo_Keys>
<AUP_READ_PHONE_STATE>true</AUP_READ_PHONE_STATE>
<AUP_READ_CALENDAR>true</AUP_READ_CALENDAR>
<AUP_ACCESS_COARSE_LOCATION>true</AUP_ACCESS_COARSE_LOCATION>
<AUP_WRITE_EXTERNAL_STORAGE>true</AUP_WRITE_EXTERNAL_STORAGE>
<AUP_CAMERA>true</AUP_CAMERA>
<Android_LauncherIcon144>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png</Android_LauncherIcon144>
<AUP_INTERNET>true</AUP_INTERNET>
<BT_BuildType>Debug</BT_BuildType>
<Android_SplashImage960>$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png</Android_SplashImage960>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_iOSDevice32)'!=''">
<VerInfo_UIDeviceFamily>iPhoneAndiPad</VerInfo_UIDeviceFamily>
<iPad_Launch768x1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png</iPad_Launch768x1024>
<iPhone_Spotlight80>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png</iPhone_Spotlight80>
<iPhone_AppIcon120>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png</iPhone_AppIcon120>
<iPad_AppIcon152>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png</iPad_AppIcon152>
<iPad_Launch1536x2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png</iPad_Launch1536x2048>
<iPad_Launch1024x768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png</iPad_Launch1024x768>
<iPad_AppIcon76>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png</iPad_AppIcon76>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<iPad_SpotLight80>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png</iPad_SpotLight80>
<iPad_Launch2048x1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png</iPad_Launch2048x1536>
<iPhone_Spotlight40>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png</iPhone_Spotlight40>
<VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone &amp; iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=</VerInfo_Keys>
<iPhone_AppIcon60>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png</iPhone_AppIcon60>
<iPad_SpotLight40>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png</iPad_SpotLight40>
<VerInfo_BundleId>$(MSBuildProjectName)</VerInfo_BundleId>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_iOSDevice64)'!=''">
<VerInfo_UIDeviceFamily>iPhoneAndiPad</VerInfo_UIDeviceFamily>
<iPad_Launch768x1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png</iPad_Launch768x1024>
<iPhone_Spotlight80>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png</iPhone_Spotlight80>
<iPhone_AppIcon120>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png</iPhone_AppIcon120>
<iPad_AppIcon152>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png</iPad_AppIcon152>
<iPad_Launch1536x2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png</iPad_Launch1536x2048>
<iPad_Launch1024x768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png</iPad_Launch1024x768>
<iPad_AppIcon76>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png</iPad_AppIcon76>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<iPad_SpotLight80>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png</iPad_SpotLight80>
<iPad_Launch2048x1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png</iPad_Launch2048x1536>
<iPhone_Spotlight40>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png</iPhone_Spotlight40>
<VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone &amp; iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=</VerInfo_Keys>
<iPhone_AppIcon60>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png</iPhone_AppIcon60>
<iPad_SpotLight40>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png</iPad_SpotLight40>
<VerInfo_BundleId>$(MSBuildProjectName)</VerInfo_BundleId>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_iOSSimulator)'!=''">
<iPad_Launch768x1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png</iPad_Launch768x1024>
<VerInfo_UIDeviceFamily>iPhoneAndiPad</VerInfo_UIDeviceFamily>
<iPhone_AppIcon120>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png</iPhone_AppIcon120>
<iPad_Launch1024x768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png</iPad_Launch1024x768>
<iPad_Launch1536x2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png</iPad_Launch1536x2048>
<iPad_AppIcon152>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png</iPad_AppIcon152>
<iPad_AppIcon76>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png</iPad_AppIcon76>
<iPhone_Spotlight80>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png</iPhone_Spotlight80>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<iPhone_Spotlight40>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png</iPhone_Spotlight40>
<iPad_Launch2048x1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png</iPad_Launch2048x1536>
<iPad_SpotLight80>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png</iPad_SpotLight80>
<iPhone_AppIcon60>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png</iPhone_AppIcon60>
<VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone &amp; iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=</VerInfo_Keys>
<iPad_SpotLight40>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png</iPad_SpotLight40>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''"> <PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> <DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_Locale>1033</VerInfo_Locale> <VerInfo_Locale>1033</VerInfo_Locale>
@ -69,6 +206,15 @@
<DCC_ObjPath>C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Core;C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\System;$(DCC_ObjPath)</DCC_ObjPath> <DCC_ObjPath>C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Core;C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\System;$(DCC_ObjPath)</DCC_ObjPath>
<DCC_IncludePath>C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Core;C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\System;$(DCC_IncludePath)</DCC_IncludePath> <DCC_IncludePath>C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Core;C:\Programmi\CodeGear\RAD Studio\5.0\source\Indy\Indy10\System;$(DCC_IncludePath)</DCC_IncludePath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_iOSDevice32)'!=''">
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_iOSDevice64)'!=''">
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_iOSSimulator)'!=''">
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<Manifest_File>None</Manifest_File> <Manifest_File>None</Manifest_File>
<DCC_Optimize>false</DCC_Optimize> <DCC_Optimize>false</DCC_Optimize>
@ -80,6 +226,15 @@
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
<ILINK_FullDebugInfo>true</ILINK_FullDebugInfo> <ILINK_FullDebugInfo>true</ILINK_FullDebugInfo>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_3_iOSDevice32)'!=''">
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_3_iOSDevice64)'!=''">
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_3_iOSSimulator)'!=''">
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality> <Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType> <Borland.ProjectType>VCLApplication</Borland.ProjectType>
@ -129,11 +284,15 @@
</isVersionControl> </isVersionControl>
</Delphi.Personality> </Delphi.Personality>
<Platforms> <Platforms>
<Platform value="Android">False</Platform>
<Platform value="iOSDevice32">False</Platform>
<Platform value="iOSDevice64">False</Platform>
<Platform value="iOSSimulator">False</Platform>
<Platform value="OSX32">False</Platform> <Platform value="OSX32">False</Platform>
<Platform value="Win32">True</Platform> <Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform> <Platform value="Win64">False</Platform>
</Platforms> </Platforms>
<Deployment> <Deployment Version="3">
<DeployFile LocalName="teststompclient.exe" Configuration="Debug" Class="ProjectOutput"> <DeployFile LocalName="teststompclient.exe" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32"> <Platform Name="Win32">
<RemoteName>teststompclient.exe</RemoteName> <RemoteName>teststompclient.exe</RemoteName>
@ -144,105 +303,32 @@
<Platform Name="OSX32"> <Platform Name="OSX32">
<Overwrite>true</Overwrite> <Overwrite>true</Overwrite>
</Platform> </Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator"> <Platform Name="iOSSimulator">
<Overwrite>true</Overwrite> <Overwrite>true</Overwrite>
</Platform> </Platform>
</DeployFile> </DeployFile>
<DeployClass Required="true" Name="DependencyPackage"> <DeployFile LocalName="$(BDS)\Redist\iossimulator\libPCRE.dylib" Class="DependencyModule">
<Platform Name="iOSDevice"> <Platform Name="iOSSimulator">
<Operation>1</Operation> <Overwrite>true</Overwrite>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform> </Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\osx32\libcgsqlite3.dylib" Class="DependencyModule">
<Platform Name="OSX32"> <Platform Name="OSX32">
<Operation>1</Operation> <Overwrite>true</Overwrite>
<Extensions>.dylib</Extensions>
</Platform> </Platform>
<Platform Name="iOSSimulator"> </DeployFile>
<Operation>1</Operation> <DeployClass Name="ProjectiOSDeviceResourceRules"/>
<Extensions>.dylib</Extensions> <DeployClass Name="ProjectOSXResource">
</Platform>
</DeployClass>
<DeployClass Name="DependencyModule">
<Platform Name="OSX32"> <Platform Name="OSX32">
<Operation>1</Operation> <RemoteDir>Contents\Resources</RemoteDir>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2048">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="ProjectOSXInfoPList"/> <DeployClass Name="AndroidClassesDexFile">
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir> <RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeX86File">
<Platform Name="Android">
<RemoteDir>library\lib\x86</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXEntitlements"/>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<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_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch320">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
@ -252,111 +338,147 @@
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="Win32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile"> <DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir> <RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSEntitlements"/>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSInfoPList"/>
<DeployClass Name="iPad_Launch1024">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceResourceRules"/>
<DeployClass Name="iPad_Launch768"> <DeployClass Name="iPad_Launch768">
<Platform Name="iOSDevice"> <Platform Name="iOSSimulator">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
<Platform Name="iOSSimulator"> <Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Required="true" Name="ProjectOutput"> <DeployClass Required="true" Name="ProjectOutput">
<Platform Name="iOSDevice"> <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">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir> <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="Win32"> <Platform Name="Win32">
<Operation>0</Operation> <Operation>0</Operation>
</Platform> </Platform>
<Platform Name="OSX32"> <Platform Name="OSX32">
<Operation>1</Operation> <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="AndroidLibnativeX86File"/>
<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="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="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"/>
<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>
<Platform Name="iOSSimulator"> <Platform Name="iOSSimulator">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile"> <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"> <Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir> <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> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
@ -366,54 +488,21 @@
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="File">
<Platform Name="iOSDevice">
<Operation>0</Operation>
</Platform>
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch640x1136"> <DeployClass Name="iPhone_Launch640x1136">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator"> <Platform Name="iOSSimulator">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
</DeployClass> </DeployClass>
<DeployClass Name="Android_LauncherIcon36"> <DeployClass Name="ProjectiOSEntitlements"/>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir> <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch1536">
<Platform Name="iOSDevice">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
@ -423,17 +512,143 @@
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="ProjectOSXInfoPList"/>
<DeployClass Name="ProjectOSXEntitlements"/>
<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"> <DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android"> <Platform Name="Android">
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/> <DeployClass Name="Android_DefaultAppIcon">
<ProjectRoot Platform="iOSDevice" Name="$(PROJECTNAME).app"/> <Platform Name="Android">
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/> <RemoteDir>res\drawable</RemoteDir>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME)"/> <Operation>1</Operation>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/> </Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<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">
<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="DependencyModule">
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
</DeployClass>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/> <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
</Deployment> </Deployment>
</BorlandProject> </BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion> <ProjectFileVersion>12</ProjectFileVersion>
@ -445,21 +660,21 @@
<DCCReference Include="MainU.pas"/> <DCCReference Include="MainU.pas"/>
<DCCReference Include="..\StompClient.pas"/> <DCCReference Include="..\StompClient.pas"/>
<DCCReference Include="..\StompTypes.pas"/> <DCCReference Include="..\StompTypes.pas"/>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug"> <BuildConfiguration Include="Debug">
<Key>Cfg_2</Key> <Key>Cfg_2</Key>
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
</BuildConfiguration> </BuildConfiguration>
<BuildConfiguration Include="mio">
<Key>Cfg_3</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Release"> <BuildConfiguration Include="Release">
<Key>Cfg_1</Key> <Key>Cfg_1</Key>
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
</BuildConfiguration> </BuildConfiguration>
<BuildConfiguration Include="mio">
<Key>Cfg_3</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup> </ItemGroup>
<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"/>

View File

@ -1,124 +1,196 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{8E4B2D47-EFD1-4ACD-9821-EF2EE2839C83}</ProjectGuid> <ProjectGuid>{8E4B2D47-EFD1-4ACD-9821-EF2EE2839C83}</ProjectGuid>
<ProjectVersion>12.0</ProjectVersion> <ProjectVersion>18.1</ProjectVersion>
<MainSource>TestStompClient.dpr</MainSource> <MainSource>TestStompClient.dpr</MainSource>
<Config Condition="'$(Config)'==''">Debug</Config> <Config Condition="'$(Config)'==''">Debug</Config>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
</PropertyGroup> <FrameworkType>VCL</FrameworkType>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> <Base>True</Base>
<Base>true</Base> <Platform Condition="'$(Platform)'==''">Win32</Platform>
</PropertyGroup> <TargetedPlatforms>1025</TargetedPlatforms>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''"> <AppType>Application</AppType>
<Cfg_1>true</Cfg_1> </PropertyGroup>
<CfgParent>Base</CfgParent> <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''"> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Cfg_2>true</Cfg_2> <Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent> <CfgParent>Base</CfgParent>
<Base>true</Base> <Base>true</Base>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''"> <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<DCC_TypedAtParameter>true</DCC_TypedAtParameter> <Base_Win64>true</Base_Win64>
<DCC_DependencyCheckOutputName>TestStompClient.exe</DCC_DependencyCheckOutputName> <CfgParent>Base</CfgParent>
<DCC_UnitSearchPath>$(BDS)\Source\DUnit\src;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> <Base>true</Base>
<DCC_Define>CONSOLE_TESTRUNNER;$(DCC_Define)</DCC_Define> </PropertyGroup>
<DCC_DcuOutput>.</DCC_DcuOutput> <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<DCC_Description>InstantObjects BDE Design-Time Support (Delphi 2010)</DCC_Description> <Cfg_1>true</Cfg_1>
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias> <CfgParent>Base</CfgParent>
<DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps> <Base>true</Base>
<DllSuffix>_D14</DllSuffix> </PropertyGroup>
<DCC_ImageBase>00400000</DCC_ImageBase> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<DCC_Platform>x86</DCC_Platform> <Cfg_1_Win32>true</Cfg_1_Win32>
</PropertyGroup> <CfgParent>Cfg_1</CfgParent>
<PropertyGroup Condition="'$(Cfg_1)'!=''"> <Cfg_1>true</Cfg_1>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> <Base>true</Base>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> </PropertyGroup>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<DCC_DebugInformation>false</DCC_DebugInformation> <Cfg_2>true</Cfg_2>
</PropertyGroup> <CfgParent>Base</CfgParent>
<PropertyGroup Condition="'$(Cfg_2)'!=''"> <Base>true</Base>
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Cfg_2)'=='true') or '$(Cfg_2_iOSDevice64)'!=''">
<ItemGroup> <Cfg_2_iOSDevice64>true</Cfg_2_iOSDevice64>
<DelphiCompile Include="TestStompClient.dpr"> <CfgParent>Cfg_2</CfgParent>
<MainSource>MainSource</MainSource> <Cfg_2>true</Cfg_2>
</DelphiCompile> <Base>true</Base>
<DCCReference Include="TestStompClientU.pas"/> </PropertyGroup>
<BuildConfiguration Include="Base"> <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Key>Base</Key> <Cfg_2_Win32>true</Cfg_2_Win32>
</BuildConfiguration> <CfgParent>Cfg_2</CfgParent>
<BuildConfiguration Include="Debug"> <Cfg_2>true</Cfg_2>
<Key>Cfg_2</Key> <Base>true</Base>
<CfgParent>Base</CfgParent> </PropertyGroup>
</BuildConfiguration> <PropertyGroup Condition="'$(Base)'!=''">
<BuildConfiguration Include="Release"> <VerInfo_Keys>CompanyName=www.instantobjects.org;FileDescription=InstantObjects;FileVersion=2.1.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=InstantObjects;ProductVersion=2.1.0.0;Comments=</VerInfo_Keys>
<Key>Cfg_1</Key> <VerInfo_MajorVer>2</VerInfo_MajorVer>
<CfgParent>Base</CfgParent> <SanitizedProjectName>TestStompClient</SanitizedProjectName>
</BuildConfiguration> <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;DUnitX;$(DCC_Namespace)</DCC_Namespace>
</ItemGroup> <VerInfo_MinorVer>1</VerInfo_MinorVer>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<ProjectExtensions> <VerInfo_Locale>1040</VerInfo_Locale>
<Borland.Personality>Delphi.Personality.12</Borland.Personality> <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
<Borland.ProjectType/> <DCC_DependencyCheckOutputName>TestStompClient.exe</DCC_DependencyCheckOutputName>
<BorlandProject> <DCC_UnitSearchPath>$(BDS)\Source\DUnit\src;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<Delphi.Personality> <DCC_Define>CONSOLE_TESTRUNNER;$(DCC_Define)</DCC_Define>
<Parameters> <DCC_DcuOutput>.</DCC_DcuOutput>
<Parameters Name="UseLauncher">False</Parameters> <DCC_Description>InstantObjects BDE Design-Time Support (Delphi 2010)</DCC_Description>
<Parameters Name="LoadAllSymbols">True</Parameters> <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters> <DllSuffix>_D14</DllSuffix>
</Parameters> <DCC_ImageBase>00400000</DCC_ImageBase>
<VersionInfo> <DCC_Platform>x86</DCC_Platform>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo> </PropertyGroup>
<VersionInfo Name="AutoIncBuild">False</VersionInfo> <PropertyGroup Condition="'$(Base_Win32)'!=''">
<VersionInfo Name="MajorVer">2</VersionInfo> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<VersionInfo Name="MinorVer">1</VersionInfo> <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<VersionInfo Name="Release">0</VersionInfo> <Icon_MainIcon>TestStompClient_Icon.ico</Icon_MainIcon>
<VersionInfo Name="Build">0</VersionInfo> <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VersionInfo Name="Debug">False</VersionInfo> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<VersionInfo Name="PreRelease">False</VersionInfo> <VerInfo_Locale>1033</VerInfo_Locale>
<VersionInfo Name="Special">False</VersionInfo> <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VersionInfo Name="Private">False</VersionInfo> </PropertyGroup>
<VersionInfo Name="DLL">False</VersionInfo> <PropertyGroup Condition="'$(Base_Win64)'!=''">
<VersionInfo Name="Locale">1040</VersionInfo> <Icon_MainIcon>TestStompClient_Icon.ico</Icon_MainIcon>
<VersionInfo Name="CodePage">1252</VersionInfo> <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
</VersionInfo> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<VersionInfoKeys> </PropertyGroup>
<VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys> <PropertyGroup Condition="'$(Cfg_1)'!=''">
<VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys> <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys> <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<VersionInfoKeys Name="InternalName"/> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<VersionInfoKeys Name="LegalCopyright"/> <DCC_DebugInformation>0</DCC_DebugInformation>
<VersionInfoKeys Name="LegalTrademarks"/> </PropertyGroup>
<VersionInfoKeys Name="OriginalFilename"/> <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys> <AppEnableHighDPI>true</AppEnableHighDPI>
<VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<VersionInfoKeys Name="Comments"/> </PropertyGroup>
</VersionInfoKeys> <PropertyGroup Condition="'$(Cfg_2)'!=''">
<Excluded_Packages> <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenOPFCore.bpl">Hengen OPF Core</Excluded_Packages> </PropertyGroup>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\HengenOPFCore.bpl">Hengen Computing OPF</Excluded_Packages> <PropertyGroup Condition="'$(Cfg_2_iOSDevice64)'!=''">
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenADOLayer.bpl">Hengen ADO Persistence Layer</Excluded_Packages> <BT_BuildType>Debug</BT_BuildType>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenIBXLayer.bpl">Hengen IBX Persistence Layer</Excluded_Packages> </PropertyGroup>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenOPFGUI.bpl">Hengen OPF GUI Controls</Excluded_Packages> <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclObjectListMgrMediators.bpl">Hengen OPF ObjectListMgr Demo Mediators</Excluded_Packages> <AppEnableHighDPI>true</AppEnableHighDPI>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\Spring.Core.bpl">Delphi Spring Framework Core Library</Excluded_Packages> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\Spring.Base.bpl">Delphi Spring Framework Base Class Library</Excluded_Packages> </PropertyGroup>
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k140.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages> <ItemGroup>
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp140.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages> <DelphiCompile Include="$(MainSource)">
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages> <MainSource>MainSource</MainSource>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> </DelphiCompile>
</Excluded_Packages> <DCCReference Include="TestStompClientU.pas"/>
<Source> <BuildConfiguration Include="Debug">
<Source Name="MainSource">TestStompClient.dpr</Source> <Key>Cfg_2</Key>
</Source> <CfgParent>Base</CfgParent>
</Delphi.Personality> </BuildConfiguration>
<UnitTesting> <BuildConfiguration Include="Base">
<TestFramework>DUnit / Delphi Win32</TestFramework> <Key>Base</Key>
<TestRunner>Console</TestRunner> </BuildConfiguration>
</UnitTesting> <BuildConfiguration Include="Release">
</BorlandProject> <Key>Cfg_1</Key>
<ProjectFileVersion>12</ProjectFileVersion> <CfgParent>Base</CfgParent>
</ProjectExtensions> </BuildConfiguration>
</Project> </ItemGroup>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<Delphi.Personality>
<Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">2</VersionInfo>
<VersionInfo Name="MinorVer">1</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">1040</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
<VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"/>
<VersionInfoKeys Name="LegalCopyright"/>
<VersionInfoKeys Name="LegalTrademarks"/>
<VersionInfoKeys Name="OriginalFilename"/>
<VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"/>
</VersionInfoKeys>
<Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenOPFCore.bpl">Hengen OPF Core</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\HengenOPFCore.bpl">Hengen Computing OPF</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenADOLayer.bpl">Hengen ADO Persistence Layer</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenIBXLayer.bpl">Hengen IBX Persistence Layer</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclHengenOPFGUI.bpl">Hengen OPF GUI Controls</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\dclObjectListMgrMediators.bpl">Hengen OPF ObjectListMgr Demo Mediators</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\Spring.Core.bpl">Delphi Spring Framework Core Library</Excluded_Packages>
<Excluded_Packages Name="C:\Users\Public\Documents\RAD Studio\7.0\Bpl\Spring.Base.bpl">Delphi Spring Framework Base Class Library</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\bcboffice2k140.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\bcbofficexp140.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages>
<Source>
<Source Name="MainSource">TestStompClient.dpr</Source>
</Source>
</Delphi.Personality>
<UnitTesting>
<TestFramework>DUnit / Delphi Win32</TestFramework>
<TestRunner>Console</TestRunner>
<TestProjectName/>
<SourceProjectName/>
</UnitTesting>
<Platforms>
<Platform value="iOSDevice64">True</Platform>
<Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
</Project>

Binary file not shown.