
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@159 8e941d3f-bd1b-0410-a28a-d453659cc2b4
72 lines
1.9 KiB
ObjectPascal
72 lines
1.9 KiB
ObjectPascal
program test_binary;
|
|
|
|
{$APPTYPE CONSOLE}
|
|
|
|
uses
|
|
SysUtils,
|
|
Classes,
|
|
base_service_intf,
|
|
service_intf,
|
|
base_binary_formatter,
|
|
binary_formatter,
|
|
//ics_tcp_protocol,
|
|
user_service_intf,
|
|
user_service_intf_proxy,
|
|
TypInfo,
|
|
synapse_http_protocol,
|
|
synapse_tcp_protocol;
|
|
|
|
Var
|
|
calcObj : ICalculator;
|
|
i, j, k : Integer;
|
|
rk : TBinaryArgsResult;
|
|
vA : TBinaryArgsResultArray;
|
|
msgProt, s : string;
|
|
begin
|
|
msgProt := 'binary';
|
|
Writeln('USED Msg protocol = ',msgProt);
|
|
//ICS_RegisterTCP_Transport();
|
|
SYNAPSE_RegisterTCP_Transport();
|
|
|
|
rk := nil;
|
|
Try
|
|
Try
|
|
calcObj := TCalculator_Proxy.Create(
|
|
'ICalculator', // Target
|
|
msgProt,//'SOAP',//'binary', // Protocol Data
|
|
'TCP:Address=127.0.0.1;Port=1234;target=ICalculator' // Transport Data
|
|
);
|
|
WriteLn('Calculator test.');
|
|
while True do begin
|
|
Write('Enter A = '); ReadLn(i);
|
|
Write('Enter B = '); ReadLn(j);
|
|
k := calcObj.DivInt(i,j);
|
|
Write(' A / B = '); WriteLn(k);
|
|
rk := calcObj.AddInt(i,j);
|
|
WriteLn(Format(' ( %d %s %d ) = %d',[rk.Arg_A, rk.Arg_OP, rk.Arg_B, rk.Arg_R]));
|
|
WriteLn('----------------------------------------------');
|
|
vA := calcObj.DoAllOperations(i,j);
|
|
Try
|
|
For i := 0 To Pred(vA.Length) Do
|
|
WriteLn(Format(' ( %d %s %d ) = %d; OP=%s',[vA[i].Arg_A, vA[i].Arg_OP, vA[i].Arg_B, vA[i].Arg_R,GetEnumName(TypeInfo(TCalc_Op),Ord(vA[i].Arg_OpEnum))]));
|
|
Finally
|
|
vA.Free();
|
|
End;
|
|
Write('Stop now Y/N: ');
|
|
Readln(s);
|
|
s := UpperCase(Trim(s));
|
|
if ( Length(s) > 0 ) and ( s[1] = 'Y' ) then
|
|
Break;
|
|
end;
|
|
Except
|
|
On E : Exception Do Begin
|
|
WriteLn('Oups:');
|
|
WriteLn(E.Message);
|
|
End;
|
|
End;
|
|
Finally
|
|
rk.Free();
|
|
End;
|
|
ReadLn;
|
|
end.
|