You've already forked lazarus-ccr
widestring sample
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@770 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
48
wst/trunk/samples/widestring/client/ws_client.pas
Normal file
48
wst/trunk/samples/widestring/client/ws_client.pas
Normal file
@ -0,0 +1,48 @@
|
||||
program ws_client;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads, cwstring,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils,
|
||||
service_intf, soap_formatter, synapse_http_protocol,
|
||||
echo_service, echo_service_proxy;
|
||||
|
||||
const
|
||||
utf16_bom : array[0..1] of Byte = ($FF, $FE);
|
||||
binary_buffer : array[0..7] of Word = ($E9, $E9, $E8, $E8, $E7, $E7, $E0, $E0);
|
||||
|
||||
var
|
||||
locService : IEchoService;
|
||||
ws, wsres : WideString;
|
||||
ms : TMemoryStream;
|
||||
c : Integer;
|
||||
begin
|
||||
SYNAPSE_RegisterHTTP_Transport();
|
||||
|
||||
locService := wst_CreateInstance_IEchoService('SOAP:','HTTP:','http://127.0.0.1:8000/services/IEchoService');
|
||||
|
||||
WriteLn('WST WideString Sample - Client');
|
||||
|
||||
ms := TMemoryStream.Create();
|
||||
try
|
||||
SetLength(ws, Length(binary_buffer) );
|
||||
Move(binary_buffer[0], Pointer(ws)^, Length(binary_buffer) * 2);
|
||||
|
||||
|
||||
ms.Write(utf16_bom,SizeOf(utf16_bom));
|
||||
ms.Write(Pointer(ws)^, ( Length(ws) * SizeOf(WideChar) ) );
|
||||
ms.SaveToFile(ExpandFileName('.' + PathDelim + 'input.widestring'));
|
||||
|
||||
wsres := locService.EchoWideString(ws);
|
||||
ms.Clear();
|
||||
ms.Write(utf16_bom,SizeOf(utf16_bom));
|
||||
ms.Write(Pointer(wsres)^, ( Length(wsres) * SizeOf(WideChar) ) );
|
||||
ms.SaveToFile(ExpandFileName('.' + PathDelim + 'output.widestring'));
|
||||
finally
|
||||
ms.Free();
|
||||
end;
|
||||
end.
|
||||
|
Reference in New Issue
Block a user