You've already forked lazarus-ccr
json serialization : client & server
base64 encoded support + tests new tests for schema parsers : complex type extending simple type git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@303 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1284,7 +1284,7 @@ begin
|
|||||||
StackTop().CreateInnerBuffer(dtInt64U)^.Int64U := int64UData;
|
StackTop().CreateInnerBuffer(dtInt64U)^.Int64U := int64UData;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
tkClass :
|
tkClass, tkRecord :
|
||||||
begin
|
begin
|
||||||
raise EBinaryFormatterException.Create('Inner Scope value must be a "simple type" value.');
|
raise EBinaryFormatterException.Create('Inner Scope value must be a "simple type" value.');
|
||||||
end;
|
end;
|
||||||
@ -1502,7 +1502,7 @@ begin
|
|||||||
tkAString
|
tkAString
|
||||||
{$ENDIF} : string(AData) := dataBuffer^.StrData^.Data;
|
{$ENDIF} : string(AData) := dataBuffer^.StrData^.Data;
|
||||||
|
|
||||||
tkClass : raise EBinaryFormatterException.Create('Inner Scope value must be a "simple type" value.');
|
tkClass, tkRecord : raise EBinaryFormatterException.Create('Inner Scope value must be a "simple type" value.');
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
tkBool : Boolean(AData) := dataBuffer^.BoolData;
|
tkBool : Boolean(AData) := dataBuffer^.BoolData;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -270,6 +270,34 @@ type
|
|||||||
property Data : string read FData write FData;
|
property Data : string read FData write FData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TBase64StringRemotable }
|
||||||
|
|
||||||
|
TBase64StringRemotable = class(TAbstractSimpleRemotable)
|
||||||
|
private
|
||||||
|
FBinaryData : string;
|
||||||
|
private
|
||||||
|
function GetEncodedString : string;
|
||||||
|
procedure SetEncodedString(const AValue : string);
|
||||||
|
public
|
||||||
|
class procedure Save(
|
||||||
|
AObject : TBaseRemotable;
|
||||||
|
AStore : IFormatterBase;
|
||||||
|
const AName : string;
|
||||||
|
const ATypeInfo : PTypeInfo
|
||||||
|
);override;
|
||||||
|
class procedure Load(
|
||||||
|
var AObject : TObject;
|
||||||
|
AStore : IFormatterBase;
|
||||||
|
var AName : string;
|
||||||
|
const ATypeInfo : PTypeInfo
|
||||||
|
);override;
|
||||||
|
|
||||||
|
procedure Assign(Source: TPersistent); override;
|
||||||
|
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
|
||||||
|
property BinaryData : string read FBinaryData write FBinaryData;
|
||||||
|
property EncodedString : string read GetEncodedString write SetEncodedString;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TBaseDateRemotable }
|
{ TBaseDateRemotable }
|
||||||
|
|
||||||
TBaseDateRemotable = class(TAbstractSimpleRemotable)
|
TBaseDateRemotable = class(TAbstractSimpleRemotable)
|
||||||
@ -551,6 +579,23 @@ type
|
|||||||
property Value : string read FValue write FValue;
|
property Value : string read FValue write FValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TBase64StringExtRemotable }
|
||||||
|
|
||||||
|
TBase64StringExtRemotable = class(TBaseComplexSimpleContentRemotable)
|
||||||
|
private
|
||||||
|
FBinaryData : string;
|
||||||
|
private
|
||||||
|
function GetEncodedString() : string;
|
||||||
|
procedure SetEncodedString(const AValue : string);
|
||||||
|
protected
|
||||||
|
class procedure SaveValue(AObject : TBaseRemotable; AStore : IFormatterBase);override;
|
||||||
|
class procedure LoadValue(var AObject : TObject; AStore : IFormatterBase);override;
|
||||||
|
public
|
||||||
|
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
|
||||||
|
property BinaryData : string read FBinaryData write FBinaryData;
|
||||||
|
property EncodedString : string read GetEncodedString write SetEncodedString;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TComplexBooleanContentRemotable }
|
{ TComplexBooleanContentRemotable }
|
||||||
|
|
||||||
TComplexBooleanContentRemotable = class(TBaseComplexSimpleContentRemotable)
|
TComplexBooleanContentRemotable = class(TBaseComplexSimpleContentRemotable)
|
||||||
@ -1267,7 +1312,7 @@ var
|
|||||||
{$ENDIF HAS_FORMAT_SETTINGS}
|
{$ENDIF HAS_FORMAT_SETTINGS}
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
uses imp_utils, record_rtti;
|
uses imp_utils, record_rtti, basex_encode;
|
||||||
|
|
||||||
type
|
type
|
||||||
PObject = ^TObject;
|
PObject = ^TObject;
|
||||||
@ -5222,6 +5267,105 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TBase64StringRemotable }
|
||||||
|
|
||||||
|
function TBase64StringRemotable.GetEncodedString() : string;
|
||||||
|
begin
|
||||||
|
Result := Base64Encode(BinaryData);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBase64StringRemotable.SetEncodedString(const AValue : string);
|
||||||
|
begin
|
||||||
|
BinaryData := Base64Decode(AValue,[xoDecodeIgnoreIllegalChar]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TBase64StringRemotable.Save(
|
||||||
|
AObject : TBaseRemotable;
|
||||||
|
AStore : IFormatterBase;
|
||||||
|
const AName : string;
|
||||||
|
const ATypeInfo : PTypeInfo
|
||||||
|
);
|
||||||
|
var
|
||||||
|
buffer : string;
|
||||||
|
begin
|
||||||
|
if ( AObject <> nil ) then
|
||||||
|
buffer := TBase64StringRemotable(AObject).BinaryData
|
||||||
|
else
|
||||||
|
buffer := '';
|
||||||
|
AStore.Put(AName,TypeInfo(string),buffer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TBase64StringRemotable.Load(
|
||||||
|
var AObject : TObject;
|
||||||
|
AStore : IFormatterBase;
|
||||||
|
var AName : string;
|
||||||
|
const ATypeInfo : PTypeInfo
|
||||||
|
);
|
||||||
|
var
|
||||||
|
buffer : string;
|
||||||
|
begin
|
||||||
|
buffer := '';
|
||||||
|
AStore.Get(TypeInfo(string),AName,buffer);
|
||||||
|
if ( AObject = nil ) then
|
||||||
|
AObject := Create();
|
||||||
|
TBase64StringRemotable(AObject).EncodedString := buffer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBase64StringRemotable.Assign(Source : TPersistent);
|
||||||
|
begin
|
||||||
|
if Assigned(Source) then begin
|
||||||
|
if Source.InheritsFrom(TBase64StringRemotable) then
|
||||||
|
Self.BinaryData := TBase64StringRemotable(Source).BinaryData
|
||||||
|
else
|
||||||
|
inherited Assign(Source);
|
||||||
|
end else begin
|
||||||
|
BinaryData := '';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TBase64StringRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
|
||||||
|
begin
|
||||||
|
Result := Assigned(ACompareTo) and
|
||||||
|
ACompareTo.InheritsFrom(TBase64StringRemotable) and
|
||||||
|
( TBase64StringRemotable(ACompareTo).BinaryData = Self.BinaryData );
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TBase64StringExtRemotable }
|
||||||
|
|
||||||
|
function TBase64StringExtRemotable.GetEncodedString() : string;
|
||||||
|
begin
|
||||||
|
Result := Base64Encode(BinaryData);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBase64StringExtRemotable.SetEncodedString(const AValue : string);
|
||||||
|
begin
|
||||||
|
BinaryData := Base64Decode(AValue,[xoDecodeIgnoreIllegalChar]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TBase64StringExtRemotable.SaveValue(AObject : TBaseRemotable; AStore : IFormatterBase);
|
||||||
|
var
|
||||||
|
s : string;
|
||||||
|
begin
|
||||||
|
s := (AObject as TBase64StringExtRemotable).EncodedString;
|
||||||
|
AStore.PutScopeInnerValue(TypeInfo(string),s);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TBase64StringExtRemotable.LoadValue(var AObject : TObject; AStore : IFormatterBase);
|
||||||
|
var
|
||||||
|
s : string;
|
||||||
|
begin
|
||||||
|
s := '';
|
||||||
|
AStore.GetScopeInnerValue(TypeInfo(string),s);
|
||||||
|
(AObject as TBase64StringExtRemotable).EncodedString := s;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TBase64StringExtRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
|
||||||
|
begin
|
||||||
|
Result := Assigned(ACompareTo) and
|
||||||
|
ACompareTo.InheritsFrom(TBase64StringExtRemotable) and
|
||||||
|
( TBase64StringExtRemotable(ACompareTo).BinaryData = Self.BinaryData );
|
||||||
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
{$IFDEF HAS_FORMAT_SETTINGS}
|
{$IFDEF HAS_FORMAT_SETTINGS}
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
|
175
wst/trunk/basex_encode.pas
Normal file
175
wst/trunk/basex_encode.pas
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
{ This file is part of the Web Service Toolkit
|
||||||
|
Copyright (c) 2006, 2007 by Inoussa OUEDRAOGO
|
||||||
|
|
||||||
|
This file is provide under modified LGPL licence
|
||||||
|
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||||
|
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
}
|
||||||
|
{$INCLUDE wst_global.inc}
|
||||||
|
{$RANGECHECKS OFF}
|
||||||
|
unit basex_encode;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
SysUtils, wst_types;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
EBaseXException = class(Exception);
|
||||||
|
EBase64Exception = class(EBaseXException);
|
||||||
|
|
||||||
|
TBaseXOption = ( xoDecodeIgnoreIllegalChar );
|
||||||
|
TBaseXOptions = set of TBaseXOption;
|
||||||
|
|
||||||
|
function Base64Encode(const ALength : PtrInt; const AInBuffer) : string;overload;
|
||||||
|
function Base64Encode(const AInBuffer : string) : string;overload;
|
||||||
|
|
||||||
|
function Base64Decode(const AInBuffer : string; const AOptions : TBaseXOptions = [xoDecodeIgnoreIllegalChar]) : string;
|
||||||
|
|
||||||
|
resourcestring
|
||||||
|
s_InvalidEncodedData = 'Invalid encoded data.';
|
||||||
|
s_IllegalChar = 'Illegal character for that encoding : %s.';
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
const
|
||||||
|
Base64_CHAR_TABLE : array[0..63] of char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||||
|
IM = 255; INVALID_MARKER = IM;
|
||||||
|
Base64_CHAR_INDEX_TABLE : array[Byte] of Byte = (
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,62,IM,IM,IM,63,
|
||||||
|
52,53,54,55,56,57,58,59,60,61,IM,IM,IM,00,IM,IM,
|
||||||
|
IM,00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,
|
||||||
|
15,16,17,18,19,20,21,22,23,24,25,IM,IM,IM,IM,IM,
|
||||||
|
IM,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
|
||||||
|
41,42,43,44,45,46,47,48,49,50,51,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,
|
||||||
|
IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM,IM
|
||||||
|
);
|
||||||
|
Base64_CHAR_SET = ['A'..'Z','a'..'z','0'..'9','+','/'];
|
||||||
|
|
||||||
|
function Base64Encode(const ALength : PtrInt; const AInBuffer) : string;
|
||||||
|
var
|
||||||
|
locBuffer : PByte;
|
||||||
|
locCopied, locBlockCount, i, locAtualLen : PtrInt;
|
||||||
|
locInQuantom : array[0..2] of Byte;
|
||||||
|
locOutQuantom : array[0..3] of Char;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
if ( ALength > 0 ) then begin
|
||||||
|
locBuffer := @AInBuffer;
|
||||||
|
locBlockCount := ALength div 3;
|
||||||
|
SetLength(Result,(locBlockCount + 1 ) * 4);
|
||||||
|
locAtualLen := 0;
|
||||||
|
for i := 1 to locBlockCount do begin
|
||||||
|
Move(locBuffer^,locInQuantom[0],3);
|
||||||
|
Inc(locBuffer,3);
|
||||||
|
locOutQuantom[0] := Base64_CHAR_TABLE[( locInQuantom[0] shr 2 )];
|
||||||
|
locOutQuantom[1] := Base64_CHAR_TABLE[( ( locInQuantom[0] and 3 ) shl 4 ) or ( locInQuantom[1] shr 4 )];
|
||||||
|
locOutQuantom[2] := Base64_CHAR_TABLE[( ( locInQuantom[1] and 15 ) shl 2 ) or ( locInQuantom[2] shr 6 )];
|
||||||
|
locOutQuantom[3] := Base64_CHAR_TABLE[( locInQuantom[2] and 63 )];
|
||||||
|
Move(locOutQuantom[0],Result[locAtualLen + 1],4);
|
||||||
|
Inc(locAtualLen,4);
|
||||||
|
end;
|
||||||
|
locCopied := ALength mod 3;
|
||||||
|
if ( locCopied > 0 ) then begin
|
||||||
|
case locCopied of
|
||||||
|
1 :
|
||||||
|
begin
|
||||||
|
Move(locBuffer^,locInQuantom[0],1);
|
||||||
|
locInQuantom[1] := 0;
|
||||||
|
locOutQuantom[0] := Base64_CHAR_TABLE[( locInQuantom[0] shr 2 )];
|
||||||
|
locOutQuantom[1] := Base64_CHAR_TABLE[( ( locInQuantom[0] and 3 ) shl 4 ) or ( locInQuantom[1] shr 4 )];
|
||||||
|
locOutQuantom[2] := '=';
|
||||||
|
locOutQuantom[3] := '=';
|
||||||
|
end;
|
||||||
|
2 :
|
||||||
|
begin
|
||||||
|
Move(locBuffer^,locInQuantom[0],2);
|
||||||
|
locInQuantom[2] := 0;
|
||||||
|
locOutQuantom[0] := Base64_CHAR_TABLE[( locInQuantom[0] shr 2 )];
|
||||||
|
locOutQuantom[1] := Base64_CHAR_TABLE[( ( locInQuantom[0] and 3 ) shl 4 ) or ( locInQuantom[1] shr 4 )];
|
||||||
|
locOutQuantom[2] := Base64_CHAR_TABLE[( ( locInQuantom[1] and 15 ) shl 2 ) or ( locInQuantom[2] shr 6 )];
|
||||||
|
locOutQuantom[3] := '=';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Move(locOutQuantom[0],Result[locAtualLen + 1],4);
|
||||||
|
Inc(locAtualLen,4);
|
||||||
|
end;
|
||||||
|
SetLength(Result,locAtualLen);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function Base64Encode(const AInBuffer : string) : string;
|
||||||
|
begin
|
||||||
|
if ( Length(AInBuffer) = 0 ) then
|
||||||
|
Result := ''
|
||||||
|
else
|
||||||
|
Result := Base64Encode(Length(AInBuffer),AInBuffer[1]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function Base64Decode(const AInBuffer : string; const AOptions : TBaseXOptions) : string;
|
||||||
|
var
|
||||||
|
locBuffer : PByte;
|
||||||
|
locInLen, locInIndex, i, locPadded : PtrInt;
|
||||||
|
locOutQuantom : array[0..2] of Byte;
|
||||||
|
locInQuantom : array[0..3] of Byte;
|
||||||
|
ok : Boolean;
|
||||||
|
locAtualLen : PtrInt;
|
||||||
|
locInValue : Byte;
|
||||||
|
locFailOnIllegalChar : Boolean;
|
||||||
|
begin
|
||||||
|
if ( AInBuffer = '' ) then begin
|
||||||
|
Result := '';
|
||||||
|
end else begin
|
||||||
|
locInIndex := 0;
|
||||||
|
locAtualLen := 0;
|
||||||
|
locPadded := 0;
|
||||||
|
locInLen := Length(AInBuffer);
|
||||||
|
SetLength(Result,locInLen);
|
||||||
|
locBuffer := @(AInBuffer[1]);
|
||||||
|
locFailOnIllegalChar := not ( xoDecodeIgnoreIllegalChar in AOptions );
|
||||||
|
while ( locInIndex < locInLen ) do begin
|
||||||
|
for i := 0 to 3 do begin
|
||||||
|
ok := False;
|
||||||
|
while ( locInIndex <= locInLen ) do begin
|
||||||
|
locInValue := Base64_CHAR_INDEX_TABLE[locBuffer^];
|
||||||
|
Inc(locBuffer);
|
||||||
|
Inc(locInIndex);
|
||||||
|
if ( locInValue <> INVALID_MARKER ) then begin
|
||||||
|
locInQuantom[i] := locInValue;
|
||||||
|
if ( locBuffer^ = Byte('=') ) then begin
|
||||||
|
Inc(locPadded);
|
||||||
|
end;
|
||||||
|
ok := True;
|
||||||
|
Break;
|
||||||
|
end else begin
|
||||||
|
if locFailOnIllegalChar then
|
||||||
|
raise EBase64Exception.Create(s_InvalidEncodedData);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if not ok then
|
||||||
|
raise EBase64Exception.CreateFmt(s_IllegalChar,[Char(locBuffer^)]);
|
||||||
|
end;
|
||||||
|
locOutQuantom[0] := ( locInQuantom[0] shl 2 ) or ( locInQuantom[1] shr 4 );
|
||||||
|
locOutQuantom[1] := ( locInQuantom[1] shl 4 ) or ( locInQuantom[2] shr 2 );
|
||||||
|
locOutQuantom[2] := ( locInQuantom[2] shl 6 ) or ( locInQuantom[3] );
|
||||||
|
Move(locOutQuantom[0],Result[locAtualLen + 1],3 - locPadded);
|
||||||
|
Inc(locAtualLen,3 - locPadded);
|
||||||
|
end;
|
||||||
|
SetLength(Result,locAtualLen);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
203
wst/trunk/json_formatter.pas
Normal file
203
wst/trunk/json_formatter.pas
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
{
|
||||||
|
This file is part of the Web Service Toolkit
|
||||||
|
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||||
|
|
||||||
|
This file is provide under modified LGPL licence
|
||||||
|
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||||
|
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
}
|
||||||
|
{$INCLUDE wst_global.inc}
|
||||||
|
unit json_formatter;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, TypInfo,
|
||||||
|
base_service_intf, service_intf, imp_utils,
|
||||||
|
base_json_formatter, fpjson;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{$M+}
|
||||||
|
|
||||||
|
{ TJsonRpcFormatter }
|
||||||
|
|
||||||
|
TJsonRpcFormatter = class(TJsonRpcBaseFormatter,IFormatterClient)
|
||||||
|
private
|
||||||
|
FPropMngr : IPropertyManager;
|
||||||
|
FCallProcedureName : string;
|
||||||
|
FCallTarget : string;
|
||||||
|
protected
|
||||||
|
public
|
||||||
|
function GetPropertyManager():IPropertyManager;
|
||||||
|
|
||||||
|
procedure BeginCall(
|
||||||
|
const AProcName,
|
||||||
|
ATarget : string;
|
||||||
|
ACallContext : ICallContext
|
||||||
|
);
|
||||||
|
procedure EndCall();
|
||||||
|
procedure BeginCallRead(ACallContext : ICallContext);
|
||||||
|
|
||||||
|
function GetCallProcedureName():string;
|
||||||
|
function GetCallTarget():string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TJsonRpcCallMaker }
|
||||||
|
|
||||||
|
TJsonRpcCallMaker = class(TSimpleFactoryItem,ICallMaker)
|
||||||
|
Private
|
||||||
|
FPropMngr : IPropertyManager;
|
||||||
|
Public
|
||||||
|
constructor Create();override;
|
||||||
|
destructor Destroy();override;
|
||||||
|
function GetPropertyManager():IPropertyManager;
|
||||||
|
procedure MakeCall(
|
||||||
|
ASerializer : IFormatterClient;
|
||||||
|
ATransport : ITransport
|
||||||
|
);
|
||||||
|
End;
|
||||||
|
|
||||||
|
procedure RegisterJsonProtocol();
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TJsonRpcFormatter }
|
||||||
|
|
||||||
|
function TJsonRpcFormatter.GetPropertyManager() : IPropertyManager;
|
||||||
|
begin
|
||||||
|
If Not Assigned(FPropMngr) Then
|
||||||
|
FPropMngr := TPublishedPropertyManager.Create(Self);
|
||||||
|
Result := FPropMngr;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.BeginCall(
|
||||||
|
const AProcName, ATarget : string;
|
||||||
|
ACallContext : ICallContext
|
||||||
|
);
|
||||||
|
begin
|
||||||
|
FCallProcedureName := AProcName;
|
||||||
|
FCallTarget := ATarget;
|
||||||
|
|
||||||
|
BeginObject('',Nil);
|
||||||
|
Put(s_json_method,TypeInfo(string),FCallProcedureName);
|
||||||
|
BeginArray(s_json_params,Nil,nil,[0,0],asScoped);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.EndCall();
|
||||||
|
begin
|
||||||
|
EndScope(); // params
|
||||||
|
EndScope(); // Root object
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.BeginCallRead(ACallContext : ICallContext);
|
||||||
|
Var
|
||||||
|
errCode, errMsg : string;
|
||||||
|
e : EJsonRpcException;
|
||||||
|
elt : TJSONData;
|
||||||
|
remoteErr : TJSONObject;
|
||||||
|
i : PtrInt;
|
||||||
|
begin
|
||||||
|
ClearStack();
|
||||||
|
PushStack(GetRootData(),stObject);
|
||||||
|
elt := GetRootData().Elements[s_json_error];
|
||||||
|
if Assigned(elt) and elt.InheritsFrom(TJSONObject) then begin
|
||||||
|
remoteErr := TJSONObject(elt);
|
||||||
|
i := remoteErr.IndexOfName(s_json_code);
|
||||||
|
if ( i > -1 ) then
|
||||||
|
errCode := remoteErr.Items[i].AsString
|
||||||
|
else
|
||||||
|
errCode := '';
|
||||||
|
i := remoteErr.IndexOfName(s_json_message);
|
||||||
|
if ( i > -1 ) then
|
||||||
|
errMsg := remoteErr.Items[i].AsString
|
||||||
|
else
|
||||||
|
errMsg := '';
|
||||||
|
e := EJsonRpcException.Create(errMsg);
|
||||||
|
e.FaultCode := errCode;
|
||||||
|
e.FaultString := errMsg;
|
||||||
|
raise e;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJsonRpcFormatter.GetCallProcedureName() : string;
|
||||||
|
begin
|
||||||
|
Result := FCallProcedureName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJsonRpcFormatter.GetCallTarget() : string;
|
||||||
|
begin
|
||||||
|
Result := FCallTarget;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TJsonRpcCallMaker }
|
||||||
|
|
||||||
|
constructor TJsonRpcCallMaker.Create();
|
||||||
|
begin
|
||||||
|
FPropMngr := TPublishedPropertyManager.Create(Self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TJsonRpcCallMaker.Destroy();
|
||||||
|
begin
|
||||||
|
FPropMngr := Nil;
|
||||||
|
inherited Destroy();
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJsonRpcCallMaker.GetPropertyManager() : IPropertyManager;
|
||||||
|
begin
|
||||||
|
Result:= FPropMngr;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcCallMaker.MakeCall(
|
||||||
|
ASerializer : IFormatterClient;
|
||||||
|
ATransport : ITransport
|
||||||
|
);
|
||||||
|
var
|
||||||
|
rqt, rsps : TMemoryStream;
|
||||||
|
propMngr : IPropertyManager;
|
||||||
|
begin
|
||||||
|
Assert(Assigned(ASerializer));
|
||||||
|
Assert(Assigned(ATransport));
|
||||||
|
propMngr := ATransport.GetPropertyManager();
|
||||||
|
propMngr.SetProperty(
|
||||||
|
s_json_ContentType,
|
||||||
|
s_json
|
||||||
|
);
|
||||||
|
propMngr.SetProperty(
|
||||||
|
sFORMAT,
|
||||||
|
s_json
|
||||||
|
);
|
||||||
|
rsps := Nil;
|
||||||
|
rqt := TMemoryStream.Create();
|
||||||
|
Try
|
||||||
|
rsps := TMemoryStream.Create();
|
||||||
|
ASerializer.SaveToStream(rqt);
|
||||||
|
rqt.Position := 0;
|
||||||
|
ATransport.SendAndReceive(rqt,rsps);
|
||||||
|
rqt.Clear();
|
||||||
|
rsps.Position := 0;
|
||||||
|
ASerializer.Clear();
|
||||||
|
ASerializer.LoadFromStream(rsps);
|
||||||
|
Finally
|
||||||
|
rsps.Free();
|
||||||
|
rqt.Free();
|
||||||
|
End;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure RegisterJsonProtocol();
|
||||||
|
begin
|
||||||
|
GetFormaterRegistry().Register(
|
||||||
|
s_json,
|
||||||
|
TSimpleItemFactory.Create(TJsonRpcFormatter) as IItemFactory,
|
||||||
|
TSimpleItemFactory.Create(TJsonRpcCallMaker) as IItemFactory
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Initialization
|
||||||
|
RegisterJsonProtocol();
|
||||||
|
|
||||||
|
end.
|
@ -124,6 +124,10 @@ begin
|
|||||||
SetLength(strBuff,ARequest.Size);
|
SetLength(strBuff,ARequest.Size);
|
||||||
ARequest.Position := 0;
|
ARequest.Position := 0;
|
||||||
ARequest.Read(strBuff[1],Length(strBuff));
|
ARequest.Read(strBuff[1],Length(strBuff));
|
||||||
|
{$IFDEF WST_DBG}
|
||||||
|
if IsConsole then
|
||||||
|
WriteLn(strBuff);
|
||||||
|
{$ENDIF WST_DBG}
|
||||||
wrtr.WriteStr(strBuff);
|
wrtr.WriteStr(strBuff);
|
||||||
buffStream.Position := 0;
|
buffStream.Position := 0;
|
||||||
wrtr.WriteInt32S(buffStream.Size-4);
|
wrtr.WriteInt32S(buffStream.Size-4);
|
||||||
@ -145,8 +149,8 @@ begin
|
|||||||
AResponse.Read(s[1],AResponse.Size);
|
AResponse.Read(s[1],AResponse.Size);
|
||||||
if IsConsole then
|
if IsConsole then
|
||||||
WriteLn(s)
|
WriteLn(s)
|
||||||
else
|
{else
|
||||||
ShowMessage(s);
|
ShowMessage(s);}
|
||||||
{$ENDIF WST_DBG}
|
{$ENDIF WST_DBG}
|
||||||
finally
|
finally
|
||||||
buffStream.Free();
|
buffStream.Free();
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="5"/>
|
<Version Value="6"/>
|
||||||
<General>
|
<General>
|
||||||
<Flags>
|
<Flags>
|
||||||
<MainUnitHasUsesSectionForAllUnits Value="False"/>
|
<MainUnitHasUsesSectionForAllUnits Value="False"/>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<IconPath Value=".\"/>
|
<IconPath Value=".\"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
<ActiveEditorIndexAtStart Value="7"/>
|
<ActiveEditorIndexAtStart Value="6"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<ProjectVersion Value=""/>
|
||||||
@ -58,7 +58,7 @@
|
|||||||
<UnitName Value="base_service_intf"/>
|
<UnitName Value="base_service_intf"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="10"/>
|
<EditorIndex Value="9"/>
|
||||||
<UsageCount Value="63"/>
|
<UsageCount Value="63"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit2>
|
</Unit2>
|
||||||
@ -67,7 +67,7 @@
|
|||||||
<UnitName Value="metadata_wsdl"/>
|
<UnitName Value="metadata_wsdl"/>
|
||||||
<CursorPos X="80" Y="80"/>
|
<CursorPos X="80" Y="80"/>
|
||||||
<TopLine Value="66"/>
|
<TopLine Value="66"/>
|
||||||
<EditorIndex Value="11"/>
|
<EditorIndex Value="10"/>
|
||||||
<UsageCount Value="64"/>
|
<UsageCount Value="64"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
@ -83,7 +83,7 @@
|
|||||||
<UnitName Value="user_service_intf_imp"/>
|
<UnitName Value="user_service_intf_imp"/>
|
||||||
<CursorPos X="1" Y="17"/>
|
<CursorPos X="1" Y="17"/>
|
||||||
<TopLine Value="44"/>
|
<TopLine Value="44"/>
|
||||||
<EditorIndex Value="7"/>
|
<EditorIndex Value="6"/>
|
||||||
<UsageCount Value="61"/>
|
<UsageCount Value="61"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit5>
|
</Unit5>
|
||||||
@ -92,7 +92,7 @@
|
|||||||
<UnitName Value="user_service_intf_binder"/>
|
<UnitName Value="user_service_intf_binder"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="5"/>
|
<EditorIndex Value="4"/>
|
||||||
<UsageCount Value="47"/>
|
<UsageCount Value="47"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit6>
|
</Unit6>
|
||||||
@ -102,7 +102,7 @@
|
|||||||
<UnitName Value="user_service_intf"/>
|
<UnitName Value="user_service_intf"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="8"/>
|
<EditorIndex Value="7"/>
|
||||||
<UsageCount Value="83"/>
|
<UsageCount Value="83"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit7>
|
</Unit7>
|
||||||
@ -111,7 +111,7 @@
|
|||||||
<UnitName Value="metadata_repository"/>
|
<UnitName Value="metadata_repository"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="7"/>
|
<TopLine Value="7"/>
|
||||||
<EditorIndex Value="12"/>
|
<EditorIndex Value="11"/>
|
||||||
<UsageCount Value="64"/>
|
<UsageCount Value="64"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit8>
|
</Unit8>
|
||||||
@ -127,7 +127,7 @@
|
|||||||
<UnitName Value="server_service_intf"/>
|
<UnitName Value="server_service_intf"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="6"/>
|
<EditorIndex Value="5"/>
|
||||||
<UsageCount Value="63"/>
|
<UsageCount Value="63"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit10>
|
</Unit10>
|
||||||
@ -339,7 +339,7 @@
|
|||||||
<UnitName Value="user_service_intf_proxy"/>
|
<UnitName Value="user_service_intf_proxy"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="9"/>
|
<EditorIndex Value="8"/>
|
||||||
<UsageCount Value="28"/>
|
<UsageCount Value="28"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit42>
|
</Unit42>
|
||||||
@ -441,7 +441,7 @@
|
|||||||
<UnitName Value="indy_tcp_server"/>
|
<UnitName Value="indy_tcp_server"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="4"/>
|
<EditorIndex Value="3"/>
|
||||||
<UsageCount Value="31"/>
|
<UsageCount Value="31"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit55>
|
</Unit55>
|
||||||
@ -575,9 +575,7 @@
|
|||||||
<UnitName Value="user_service_intf_proxy"/>
|
<UnitName Value="user_service_intf_proxy"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="3"/>
|
|
||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit74>
|
</Unit74>
|
||||||
<Unit75>
|
<Unit75>
|
||||||
<Filename Value="user_service_intf_binder.pas"/>
|
<Filename Value="user_service_intf_binder.pas"/>
|
||||||
@ -587,12 +585,7 @@
|
|||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
</Unit75>
|
</Unit75>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="1" HistoryIndex="0">
|
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||||
<Position1>
|
|
||||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
|
||||||
<Caret Line="51" Column="60" TopLine="32"/>
|
|
||||||
</Position1>
|
|
||||||
</JumpHistory>
|
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="5"/>
|
<Version Value="5"/>
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="5"/>
|
<Version Value="6"/>
|
||||||
<General>
|
<General>
|
||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<IconPath Value=".\"/>
|
<IconPath Value=".\"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
<ActiveEditorIndexAtStart Value="4"/>
|
<ActiveEditorIndexAtStart Value="3"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<ProjectVersion Value=""/>
|
||||||
@ -25,13 +25,13 @@
|
|||||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<Units Count="9">
|
<Units Count="13">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="lib_server.lpr"/>
|
<Filename Value="lib_server.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="lib_server"/>
|
<UnitName Value="lib_server"/>
|
||||||
<CursorPos X="49" Y="35"/>
|
<CursorPos X="19" Y="22"/>
|
||||||
<TopLine Value="7"/>
|
<TopLine Value="19"/>
|
||||||
<EditorIndex Value="0"/>
|
<EditorIndex Value="0"/>
|
||||||
<UsageCount Value="28"/>
|
<UsageCount Value="28"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
@ -41,7 +41,7 @@
|
|||||||
<UnitName Value="library_server_intf"/>
|
<UnitName Value="library_server_intf"/>
|
||||||
<CursorPos X="32" Y="91"/>
|
<CursorPos X="32" Y="91"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="2"/>
|
<EditorIndex Value="6"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
@ -50,7 +50,7 @@
|
|||||||
<UnitName Value="user_service_intf_imp"/>
|
<UnitName Value="user_service_intf_imp"/>
|
||||||
<CursorPos X="43" Y="179"/>
|
<CursorPos X="43" Y="179"/>
|
||||||
<TopLine Value="157"/>
|
<TopLine Value="157"/>
|
||||||
<EditorIndex Value="5"/>
|
<EditorIndex Value="9"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit2>
|
</Unit2>
|
||||||
@ -59,7 +59,7 @@
|
|||||||
<UnitName Value="rtti_filters"/>
|
<UnitName Value="rtti_filters"/>
|
||||||
<CursorPos X="53" Y="43"/>
|
<CursorPos X="53" Y="43"/>
|
||||||
<TopLine Value="184"/>
|
<TopLine Value="184"/>
|
||||||
<EditorIndex Value="7"/>
|
<EditorIndex Value="11"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
@ -67,26 +67,26 @@
|
|||||||
<Filename Value="..\user_service_intf_binder.pas"/>
|
<Filename Value="..\user_service_intf_binder.pas"/>
|
||||||
<UnitName Value="user_service_intf_binder"/>
|
<UnitName Value="user_service_intf_binder"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="64"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="5"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit4>
|
</Unit4>
|
||||||
<Unit5>
|
<Unit5>
|
||||||
<Filename Value="..\..\base_service_intf.pas"/>
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
<UnitName Value="base_service_intf"/>
|
<UnitName Value="base_service_intf"/>
|
||||||
<CursorPos X="52" Y="4125"/>
|
<CursorPos X="3" Y="133"/>
|
||||||
<TopLine Value="4118"/>
|
<TopLine Value="119"/>
|
||||||
<EditorIndex Value="6"/>
|
<EditorIndex Value="10"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit5>
|
</Unit5>
|
||||||
<Unit6>
|
<Unit6>
|
||||||
<Filename Value="..\..\semaphore.pas"/>
|
<Filename Value="..\..\semaphore.pas"/>
|
||||||
<UnitName Value="semaphore"/>
|
<UnitName Value="semaphore"/>
|
||||||
<CursorPos X="1" Y="140"/>
|
<CursorPos X="1" Y="137"/>
|
||||||
<TopLine Value="111"/>
|
<TopLine Value="113"/>
|
||||||
<EditorIndex Value="4"/>
|
<EditorIndex Value="8"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit6>
|
</Unit6>
|
||||||
@ -95,7 +95,7 @@
|
|||||||
<UnitName Value="cursor_intf"/>
|
<UnitName Value="cursor_intf"/>
|
||||||
<CursorPos X="2" Y="13"/>
|
<CursorPos X="2" Y="13"/>
|
||||||
<TopLine Value="34"/>
|
<TopLine Value="34"/>
|
||||||
<EditorIndex Value="3"/>
|
<EditorIndex Value="7"/>
|
||||||
<UsageCount Value="11"/>
|
<UsageCount Value="11"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit7>
|
</Unit7>
|
||||||
@ -106,6 +106,42 @@
|
|||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
</Unit8>
|
</Unit8>
|
||||||
|
<Unit9>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<UnitName Value="server_service_json"/>
|
||||||
|
<CursorPos X="104" Y="54"/>
|
||||||
|
<TopLine Value="34"/>
|
||||||
|
<EditorIndex Value="3"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit9>
|
||||||
|
<Unit10>
|
||||||
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
|
<UnitName Value="base_json_formatter"/>
|
||||||
|
<CursorPos X="48" Y="177"/>
|
||||||
|
<TopLine Value="163"/>
|
||||||
|
<EditorIndex Value="4"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit10>
|
||||||
|
<Unit11>
|
||||||
|
<Filename Value="..\..\server_service_soap.pas"/>
|
||||||
|
<UnitName Value="server_service_soap"/>
|
||||||
|
<CursorPos X="95" Y="200"/>
|
||||||
|
<TopLine Value="177"/>
|
||||||
|
<EditorIndex Value="1"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit11>
|
||||||
|
<Unit12>
|
||||||
|
<Filename Value="..\..\base_soap_formatter.pas"/>
|
||||||
|
<UnitName Value="base_soap_formatter"/>
|
||||||
|
<CursorPos X="57" Y="129"/>
|
||||||
|
<TopLine Value="115"/>
|
||||||
|
<EditorIndex Value="2"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit12>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
|
@ -19,7 +19,7 @@ uses
|
|||||||
|
|
||||||
base_service_intf,
|
base_service_intf,
|
||||||
server_service_intf,
|
server_service_intf,
|
||||||
server_service_soap, server_binary_formatter, server_service_xmlrpc,
|
server_service_soap, server_binary_formatter, server_service_xmlrpc, server_service_json,
|
||||||
metadata_repository, metadata_wsdl,
|
metadata_repository, metadata_wsdl,
|
||||||
metadata_service, metadata_service_binder, metadata_service_imp,
|
metadata_service, metadata_service_binder, metadata_service_imp,
|
||||||
library_base_intf, library_server_intf,
|
library_base_intf, library_server_intf,
|
||||||
@ -36,6 +36,7 @@ begin
|
|||||||
Server_service_RegisterBinaryFormat();
|
Server_service_RegisterBinaryFormat();
|
||||||
Server_service_RegisterSoapFormat();
|
Server_service_RegisterSoapFormat();
|
||||||
Server_service_RegisterXmlRpcFormat();
|
Server_service_RegisterXmlRpcFormat();
|
||||||
|
Server_service_RegisterJsonFormat();
|
||||||
|
|
||||||
RegisterUserServiceImplementationFactory();
|
RegisterUserServiceImplementationFactory();
|
||||||
Server_service_RegisterUserServiceService();
|
Server_service_RegisterUserServiceService();
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="5"/>
|
<Version Value="6"/>
|
||||||
<General>
|
<General>
|
||||||
<Flags>
|
<Flags>
|
||||||
<MainUnitHasUsesSectionForAllUnits Value="False"/>
|
<MainUnitHasUsesSectionForAllUnits Value="False"/>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<IconPath Value=".\"/>
|
<IconPath Value=".\"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
<ActiveEditorIndexAtStart Value="10"/>
|
<ActiveEditorIndexAtStart Value="2"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<ProjectVersion Value=""/>
|
||||||
@ -30,13 +30,13 @@
|
|||||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<Units Count="60">
|
<Units Count="65">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="tcp_server.pas"/>
|
<Filename Value="tcp_server.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="tcp_server"/>
|
<UnitName Value="tcp_server"/>
|
||||||
<CursorPos X="22" Y="37"/>
|
<CursorPos X="25" Y="30"/>
|
||||||
<TopLine Value="27"/>
|
<TopLine Value="18"/>
|
||||||
<EditorIndex Value="0"/>
|
<EditorIndex Value="0"/>
|
||||||
<UsageCount Value="89"/>
|
<UsageCount Value="89"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
@ -79,9 +79,7 @@
|
|||||||
<UnitName Value="server_service_soap"/>
|
<UnitName Value="server_service_soap"/>
|
||||||
<CursorPos X="33" Y="21"/>
|
<CursorPos X="33" Y="21"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="4"/>
|
|
||||||
<UsageCount Value="31"/>
|
<UsageCount Value="31"/>
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit6>
|
</Unit6>
|
||||||
<Unit7>
|
<Unit7>
|
||||||
<Filename Value="..\..\server_binary_formatter.pas"/>
|
<Filename Value="..\..\server_binary_formatter.pas"/>
|
||||||
@ -122,9 +120,9 @@
|
|||||||
<Unit12>
|
<Unit12>
|
||||||
<Filename Value="..\..\base_service_intf.pas"/>
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
<UnitName Value="base_service_intf"/>
|
<UnitName Value="base_service_intf"/>
|
||||||
<CursorPos X="13" Y="1199"/>
|
<CursorPos X="1" Y="2470"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="2456"/>
|
||||||
<EditorIndex Value="8"/>
|
<EditorIndex Value="11"/>
|
||||||
<UsageCount Value="33"/>
|
<UsageCount Value="33"/>
|
||||||
<Bookmarks Count="1">
|
<Bookmarks Count="1">
|
||||||
<Item0 X="19" Y="545" ID="0"/>
|
<Item0 X="19" Y="545" ID="0"/>
|
||||||
@ -148,9 +146,11 @@
|
|||||||
<Unit15>
|
<Unit15>
|
||||||
<Filename Value="..\user_service_intf_binder.pas"/>
|
<Filename Value="..\user_service_intf_binder.pas"/>
|
||||||
<UnitName Value="user_service_intf_binder"/>
|
<UnitName Value="user_service_intf_binder"/>
|
||||||
<CursorPos X="48" Y="34"/>
|
<CursorPos X="1" Y="82"/>
|
||||||
<TopLine Value="11"/>
|
<TopLine Value="68"/>
|
||||||
|
<EditorIndex Value="8"/>
|
||||||
<UsageCount Value="39"/>
|
<UsageCount Value="39"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
</Unit15>
|
</Unit15>
|
||||||
<Unit16>
|
<Unit16>
|
||||||
<Filename Value="..\user_service_intf.wst"/>
|
<Filename Value="..\user_service_intf.wst"/>
|
||||||
@ -212,9 +212,9 @@
|
|||||||
<Unit25>
|
<Unit25>
|
||||||
<Filename Value="..\..\server_service_intf.pas"/>
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
<UnitName Value="server_service_intf"/>
|
<UnitName Value="server_service_intf"/>
|
||||||
<CursorPos X="5" Y="18"/>
|
<CursorPos X="1" Y="500"/>
|
||||||
<TopLine Value="72"/>
|
<TopLine Value="486"/>
|
||||||
<EditorIndex Value="5"/>
|
<EditorIndex Value="6"/>
|
||||||
<UsageCount Value="17"/>
|
<UsageCount Value="17"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit25>
|
</Unit25>
|
||||||
@ -227,9 +227,9 @@
|
|||||||
<Unit27>
|
<Unit27>
|
||||||
<Filename Value="..\user_service_intf_imp.pas"/>
|
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||||
<UnitName Value="user_service_intf_imp"/>
|
<UnitName Value="user_service_intf_imp"/>
|
||||||
<CursorPos X="60" Y="51"/>
|
<CursorPos X="1" Y="212"/>
|
||||||
<TopLine Value="28"/>
|
<TopLine Value="198"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="5"/>
|
||||||
<UsageCount Value="41"/>
|
<UsageCount Value="41"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit27>
|
</Unit27>
|
||||||
@ -245,7 +245,7 @@
|
|||||||
<UnitName Value="base_soap_formatter"/>
|
<UnitName Value="base_soap_formatter"/>
|
||||||
<CursorPos X="24" Y="967"/>
|
<CursorPos X="24" Y="967"/>
|
||||||
<TopLine Value="325"/>
|
<TopLine Value="325"/>
|
||||||
<EditorIndex Value="6"/>
|
<EditorIndex Value="9"/>
|
||||||
<UsageCount Value="12"/>
|
<UsageCount Value="12"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit29>
|
</Unit29>
|
||||||
@ -293,18 +293,20 @@
|
|||||||
<Unit36>
|
<Unit36>
|
||||||
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
<Filename Value="..\..\synapse_tcp_server.pas"/>
|
||||||
<UnitName Value="synapse_tcp_server"/>
|
<UnitName Value="synapse_tcp_server"/>
|
||||||
<CursorPos X="35" Y="92"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="74"/>
|
<TopLine Value="50"/>
|
||||||
<EditorIndex Value="3"/>
|
<EditorIndex Value="1"/>
|
||||||
<UsageCount Value="21"/>
|
<UsageCount Value="21"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit36>
|
</Unit36>
|
||||||
<Unit37>
|
<Unit37>
|
||||||
<Filename Value="..\..\semaphore.pas"/>
|
<Filename Value="..\..\semaphore.pas"/>
|
||||||
<UnitName Value="semaphore"/>
|
<UnitName Value="semaphore"/>
|
||||||
<CursorPos X="1" Y="140"/>
|
<CursorPos X="5" Y="119"/>
|
||||||
<TopLine Value="30"/>
|
<TopLine Value="113"/>
|
||||||
|
<EditorIndex Value="14"/>
|
||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
</Unit37>
|
</Unit37>
|
||||||
<Unit38>
|
<Unit38>
|
||||||
<Filename Value="..\..\wst.inc"/>
|
<Filename Value="..\..\wst.inc"/>
|
||||||
@ -337,7 +339,7 @@
|
|||||||
<UnitName Value="server_service_xmlrpc"/>
|
<UnitName Value="server_service_xmlrpc"/>
|
||||||
<CursorPos X="26" Y="57"/>
|
<CursorPos X="26" Y="57"/>
|
||||||
<TopLine Value="21"/>
|
<TopLine Value="21"/>
|
||||||
<EditorIndex Value="7"/>
|
<EditorIndex Value="10"/>
|
||||||
<UsageCount Value="40"/>
|
<UsageCount Value="40"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit42>
|
</Unit42>
|
||||||
@ -372,7 +374,7 @@
|
|||||||
<UnitName Value="server_listener"/>
|
<UnitName Value="server_listener"/>
|
||||||
<CursorPos X="21" Y="15"/>
|
<CursorPos X="21" Y="15"/>
|
||||||
<TopLine Value="6"/>
|
<TopLine Value="6"/>
|
||||||
<EditorIndex Value="10"/>
|
<EditorIndex Value="13"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit47>
|
</Unit47>
|
||||||
@ -443,7 +445,7 @@
|
|||||||
<UnitName Value="imp_utils"/>
|
<UnitName Value="imp_utils"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="10"/>
|
<TopLine Value="10"/>
|
||||||
<EditorIndex Value="9"/>
|
<EditorIndex Value="12"/>
|
||||||
<UsageCount Value="12"/>
|
<UsageCount Value="12"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit57>
|
</Unit57>
|
||||||
@ -458,12 +460,174 @@
|
|||||||
<UnitName Value="config_objects"/>
|
<UnitName Value="config_objects"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
</Unit59>
|
||||||
|
<Unit60>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<UnitName Value="server_service_json"/>
|
||||||
|
<CursorPos X="1" Y="120"/>
|
||||||
|
<TopLine Value="2"/>
|
||||||
<EditorIndex Value="2"/>
|
<EditorIndex Value="2"/>
|
||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit59>
|
</Unit60>
|
||||||
|
<Unit61>
|
||||||
|
<Filename Value="..\..\..\..\..\..\..\lazarus\others_package\synapse\blcksock.pas"/>
|
||||||
|
<UnitName Value="blcksock"/>
|
||||||
|
<CursorPos X="1" Y="2407"/>
|
||||||
|
<TopLine Value="2393"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
</Unit61>
|
||||||
|
<Unit62>
|
||||||
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-json\src\fpjson.pp"/>
|
||||||
|
<UnitName Value="fpjson"/>
|
||||||
|
<CursorPos X="30" Y="1324"/>
|
||||||
|
<TopLine Value="1323"/>
|
||||||
|
<EditorIndex Value="4"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit62>
|
||||||
|
<Unit63>
|
||||||
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
|
<UnitName Value="base_json_formatter"/>
|
||||||
|
<CursorPos X="1" Y="1073"/>
|
||||||
|
<TopLine Value="1059"/>
|
||||||
|
<EditorIndex Value="3"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit63>
|
||||||
|
<Unit64>
|
||||||
|
<Filename Value="..\..\server_service_imputils.pas"/>
|
||||||
|
<UnitName Value="server_service_imputils"/>
|
||||||
|
<CursorPos X="1" Y="88"/>
|
||||||
|
<TopLine Value="74"/>
|
||||||
|
<EditorIndex Value="7"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit64>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
<JumpHistory Count="30" HistoryIndex="29">
|
||||||
|
<Position1>
|
||||||
|
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||||
|
<Caret Line="211" Column="1" TopLine="197"/>
|
||||||
|
</Position1>
|
||||||
|
<Position2>
|
||||||
|
<Filename Value="..\user_service_intf_imp.pas"/>
|
||||||
|
<Caret Line="212" Column="1" TopLine="198"/>
|
||||||
|
</Position2>
|
||||||
|
<Position3>
|
||||||
|
<Filename Value="..\user_service_intf_binder.pas"/>
|
||||||
|
<Caret Line="80" Column="1" TopLine="66"/>
|
||||||
|
</Position3>
|
||||||
|
<Position4>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="792" Column="1" TopLine="765"/>
|
||||||
|
</Position4>
|
||||||
|
<Position5>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="686" Column="1" TopLine="672"/>
|
||||||
|
</Position5>
|
||||||
|
<Position6>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="687" Column="1" TopLine="673"/>
|
||||||
|
</Position6>
|
||||||
|
<Position7>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="693" Column="1" TopLine="679"/>
|
||||||
|
</Position7>
|
||||||
|
<Position8>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="695" Column="1" TopLine="681"/>
|
||||||
|
</Position8>
|
||||||
|
<Position9>
|
||||||
|
<Filename Value="..\user_service_intf_binder.pas"/>
|
||||||
|
<Caret Line="82" Column="1" TopLine="68"/>
|
||||||
|
</Position9>
|
||||||
|
<Position10>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="479" Column="1" TopLine="465"/>
|
||||||
|
</Position10>
|
||||||
|
<Position11>
|
||||||
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
|
<Caret Line="5386" Column="1" TopLine="5359"/>
|
||||||
|
</Position11>
|
||||||
|
<Position12>
|
||||||
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
|
<Caret Line="2460" Column="1" TopLine="2446"/>
|
||||||
|
</Position12>
|
||||||
|
<Position13>
|
||||||
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
|
<Caret Line="2461" Column="1" TopLine="2447"/>
|
||||||
|
</Position13>
|
||||||
|
<Position14>
|
||||||
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
|
<Caret Line="2462" Column="1" TopLine="2448"/>
|
||||||
|
</Position14>
|
||||||
|
<Position15>
|
||||||
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
|
<Caret Line="2463" Column="1" TopLine="2449"/>
|
||||||
|
</Position15>
|
||||||
|
<Position16>
|
||||||
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
|
<Caret Line="2470" Column="1" TopLine="2456"/>
|
||||||
|
</Position16>
|
||||||
|
<Position17>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="498" Column="1" TopLine="484"/>
|
||||||
|
</Position17>
|
||||||
|
<Position18>
|
||||||
|
<Filename Value="..\..\server_service_imputils.pas"/>
|
||||||
|
<Caret Line="108" Column="1" TopLine="86"/>
|
||||||
|
</Position18>
|
||||||
|
<Position19>
|
||||||
|
<Filename Value="..\..\server_service_imputils.pas"/>
|
||||||
|
<Caret Line="86" Column="1" TopLine="72"/>
|
||||||
|
</Position19>
|
||||||
|
<Position20>
|
||||||
|
<Filename Value="..\..\server_service_imputils.pas"/>
|
||||||
|
<Caret Line="87" Column="1" TopLine="73"/>
|
||||||
|
</Position20>
|
||||||
|
<Position21>
|
||||||
|
<Filename Value="..\..\server_service_imputils.pas"/>
|
||||||
|
<Caret Line="88" Column="1" TopLine="74"/>
|
||||||
|
</Position21>
|
||||||
|
<Position22>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="499" Column="1" TopLine="485"/>
|
||||||
|
</Position22>
|
||||||
|
<Position23>
|
||||||
|
<Filename Value="..\..\server_service_intf.pas"/>
|
||||||
|
<Caret Line="500" Column="1" TopLine="486"/>
|
||||||
|
</Position23>
|
||||||
|
<Position24>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<Caret Line="173" Column="1" TopLine="149"/>
|
||||||
|
</Position24>
|
||||||
|
<Position25>
|
||||||
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
|
<Caret Line="1071" Column="1" TopLine="1057"/>
|
||||||
|
</Position25>
|
||||||
|
<Position26>
|
||||||
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
|
<Caret Line="1072" Column="1" TopLine="1058"/>
|
||||||
|
</Position26>
|
||||||
|
<Position27>
|
||||||
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
|
<Caret Line="1073" Column="1" TopLine="1059"/>
|
||||||
|
</Position27>
|
||||||
|
<Position28>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<Caret Line="109" Column="57" TopLine="89"/>
|
||||||
|
</Position28>
|
||||||
|
<Position29>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<Caret Line="120" Column="1" TopLine="106"/>
|
||||||
|
</Position29>
|
||||||
|
<Position30>
|
||||||
|
<Filename Value="tcp_server.pas"/>
|
||||||
|
<Caret Line="30" Column="25" TopLine="18"/>
|
||||||
|
</Position30>
|
||||||
|
</JumpHistory>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="5"/>
|
<Version Value="5"/>
|
||||||
|
@ -24,7 +24,7 @@ uses
|
|||||||
{$ENDIF}{$ENDIF}
|
{$ENDIF}{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
base_service_intf, server_service_soap,
|
base_service_intf, server_service_soap, server_service_json,
|
||||||
base_binary_formatter, server_binary_formatter,
|
base_binary_formatter, server_binary_formatter,
|
||||||
metadata_service, metadata_service_imp, metadata_service_binder,
|
metadata_service, metadata_service_imp, metadata_service_binder,
|
||||||
server_listener , synapse_tcp_server,
|
server_listener , synapse_tcp_server,
|
||||||
@ -39,6 +39,7 @@ begin
|
|||||||
Server_service_RegisterBinaryFormat();
|
Server_service_RegisterBinaryFormat();
|
||||||
Server_service_RegisterSoapFormat();
|
Server_service_RegisterSoapFormat();
|
||||||
Server_service_RegisterXmlRpcFormat();
|
Server_service_RegisterXmlRpcFormat();
|
||||||
|
Server_service_RegisterJsonFormat();
|
||||||
|
|
||||||
RegisterWSTMetadataServiceImplementationFactory();
|
RegisterWSTMetadataServiceImplementationFactory();
|
||||||
//Server_service_RegisterWSTMetadataServiceService();
|
//Server_service_RegisterWSTMetadataServiceService();
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="5"/>
|
<Version Value="6"/>
|
||||||
<General>
|
<General>
|
||||||
<Flags>
|
<Flags>
|
||||||
<MainUnitHasUsesSectionForAllUnits Value="False"/>
|
<MainUnitHasUsesSectionForAllUnits Value="False"/>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<IconPath Value=".\"/>
|
<IconPath Value=".\"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
<ActiveEditorIndexAtStart Value="0"/>
|
<ActiveEditorIndexAtStart Value="3"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<ProjectVersion Value=""/>
|
||||||
@ -30,13 +30,13 @@
|
|||||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<Units Count="45">
|
<Units Count="48">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="user_client_console.pas"/>
|
<Filename Value="user_client_console.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="user_client_console"/>
|
<UnitName Value="user_client_console"/>
|
||||||
<CursorPos X="44" Y="147"/>
|
<CursorPos X="73" Y="8"/>
|
||||||
<TopLine Value="136"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="0"/>
|
<EditorIndex Value="0"/>
|
||||||
<UsageCount Value="82"/>
|
<UsageCount Value="82"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
@ -44,27 +44,27 @@
|
|||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="..\user_service_intf_proxy.pas"/>
|
<Filename Value="..\user_service_intf_proxy.pas"/>
|
||||||
<UnitName Value="user_service_intf_proxy"/>
|
<UnitName Value="user_service_intf_proxy"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="65"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="51"/>
|
||||||
<EditorIndex Value="7"/>
|
<EditorIndex Value="9"/>
|
||||||
<UsageCount Value="33"/>
|
<UsageCount Value="33"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
<Unit2>
|
<Unit2>
|
||||||
<Filename Value="..\..\synapse_tcp_protocol.pas"/>
|
<Filename Value="..\..\synapse_tcp_protocol.pas"/>
|
||||||
<UnitName Value="synapse_tcp_protocol"/>
|
<UnitName Value="synapse_tcp_protocol"/>
|
||||||
<CursorPos X="1" Y="23"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="15"/>
|
<EditorIndex Value="17"/>
|
||||||
<UsageCount Value="40"/>
|
<UsageCount Value="40"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit2>
|
</Unit2>
|
||||||
<Unit3>
|
<Unit3>
|
||||||
<Filename Value="..\..\service_intf.pas"/>
|
<Filename Value="..\..\service_intf.pas"/>
|
||||||
<UnitName Value="service_intf"/>
|
<UnitName Value="service_intf"/>
|
||||||
<CursorPos X="51" Y="34"/>
|
<CursorPos X="1" Y="251"/>
|
||||||
<TopLine Value="21"/>
|
<TopLine Value="237"/>
|
||||||
<EditorIndex Value="13"/>
|
<EditorIndex Value="15"/>
|
||||||
<UsageCount Value="36"/>
|
<UsageCount Value="36"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
@ -73,7 +73,7 @@
|
|||||||
<UnitName Value="user_service_intf"/>
|
<UnitName Value="user_service_intf"/>
|
||||||
<CursorPos X="53" Y="11"/>
|
<CursorPos X="53" Y="11"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="8"/>
|
<EditorIndex Value="10"/>
|
||||||
<UsageCount Value="32"/>
|
<UsageCount Value="32"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit4>
|
</Unit4>
|
||||||
@ -94,9 +94,9 @@
|
|||||||
<Unit7>
|
<Unit7>
|
||||||
<Filename Value="..\..\library_protocol.pas"/>
|
<Filename Value="..\..\library_protocol.pas"/>
|
||||||
<UnitName Value="library_protocol"/>
|
<UnitName Value="library_protocol"/>
|
||||||
<CursorPos X="1" Y="137"/>
|
<CursorPos X="5" Y="165"/>
|
||||||
<TopLine Value="19"/>
|
<TopLine Value="138"/>
|
||||||
<EditorIndex Value="2"/>
|
<EditorIndex Value="3"/>
|
||||||
<UsageCount Value="28"/>
|
<UsageCount Value="28"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit7>
|
</Unit7>
|
||||||
@ -142,7 +142,7 @@
|
|||||||
<UnitName Value="synapse_http_protocol"/>
|
<UnitName Value="synapse_http_protocol"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="13"/>
|
<TopLine Value="13"/>
|
||||||
<EditorIndex Value="12"/>
|
<EditorIndex Value="14"/>
|
||||||
<UsageCount Value="22"/>
|
<UsageCount Value="22"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit14>
|
</Unit14>
|
||||||
@ -162,9 +162,9 @@
|
|||||||
<Unit17>
|
<Unit17>
|
||||||
<Filename Value="..\..\library_imp_utils.pas"/>
|
<Filename Value="..\..\library_imp_utils.pas"/>
|
||||||
<UnitName Value="library_imp_utils"/>
|
<UnitName Value="library_imp_utils"/>
|
||||||
<CursorPos X="1" Y="187"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="170"/>
|
<TopLine Value="89"/>
|
||||||
<EditorIndex Value="3"/>
|
<EditorIndex Value="5"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit17>
|
</Unit17>
|
||||||
@ -177,9 +177,9 @@
|
|||||||
<Unit19>
|
<Unit19>
|
||||||
<Filename Value="..\..\semaphore.pas"/>
|
<Filename Value="..\..\semaphore.pas"/>
|
||||||
<UnitName Value="semaphore"/>
|
<UnitName Value="semaphore"/>
|
||||||
<CursorPos X="1" Y="140"/>
|
<CursorPos X="1" Y="137"/>
|
||||||
<TopLine Value="110"/>
|
<TopLine Value="113"/>
|
||||||
<EditorIndex Value="6"/>
|
<EditorIndex Value="8"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit19>
|
</Unit19>
|
||||||
@ -203,7 +203,7 @@
|
|||||||
<UnitName Value="binary_formatter"/>
|
<UnitName Value="binary_formatter"/>
|
||||||
<CursorPos X="20" Y="21"/>
|
<CursorPos X="20" Y="21"/>
|
||||||
<TopLine Value="12"/>
|
<TopLine Value="12"/>
|
||||||
<EditorIndex Value="14"/>
|
<EditorIndex Value="16"/>
|
||||||
<UsageCount Value="33"/>
|
<UsageCount Value="33"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit22>
|
</Unit22>
|
||||||
@ -308,7 +308,7 @@
|
|||||||
<UnitName Value="indy_http_protocol"/>
|
<UnitName Value="indy_http_protocol"/>
|
||||||
<CursorPos X="1" Y="16"/>
|
<CursorPos X="1" Y="16"/>
|
||||||
<TopLine Value="109"/>
|
<TopLine Value="109"/>
|
||||||
<EditorIndex Value="11"/>
|
<EditorIndex Value="13"/>
|
||||||
<UsageCount Value="18"/>
|
<UsageCount Value="18"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit37>
|
</Unit37>
|
||||||
@ -322,18 +322,16 @@
|
|||||||
<Unit39>
|
<Unit39>
|
||||||
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
<Filename Value="..\..\ics_tcp_protocol.pas"/>
|
||||||
<UnitName Value="ics_tcp_protocol"/>
|
<UnitName Value="ics_tcp_protocol"/>
|
||||||
<CursorPos X="5" Y="41"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="26"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="1"/>
|
|
||||||
<UsageCount Value="17"/>
|
<UsageCount Value="17"/>
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit39>
|
</Unit39>
|
||||||
<Unit40>
|
<Unit40>
|
||||||
<Filename Value="..\..\ics_http_protocol.pas"/>
|
<Filename Value="..\..\ics_http_protocol.pas"/>
|
||||||
<UnitName Value="ics_http_protocol"/>
|
<UnitName Value="ics_http_protocol"/>
|
||||||
<CursorPos X="1" Y="25"/>
|
<CursorPos X="1" Y="25"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="10"/>
|
<EditorIndex Value="12"/>
|
||||||
<UsageCount Value="17"/>
|
<UsageCount Value="17"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit40>
|
</Unit40>
|
||||||
@ -342,7 +340,7 @@
|
|||||||
<UnitName Value="same_process_protocol"/>
|
<UnitName Value="same_process_protocol"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="13"/>
|
<TopLine Value="13"/>
|
||||||
<EditorIndex Value="9"/>
|
<EditorIndex Value="11"/>
|
||||||
<UsageCount Value="17"/>
|
<UsageCount Value="17"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit41>
|
</Unit41>
|
||||||
@ -359,9 +357,9 @@
|
|||||||
<Unit43>
|
<Unit43>
|
||||||
<Filename Value="..\..\binary_streamer.pas"/>
|
<Filename Value="..\..\binary_streamer.pas"/>
|
||||||
<UnitName Value="binary_streamer"/>
|
<UnitName Value="binary_streamer"/>
|
||||||
<CursorPos X="21" Y="15"/>
|
<CursorPos X="1" Y="270"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="256"/>
|
||||||
<EditorIndex Value="5"/>
|
<EditorIndex Value="7"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit43>
|
</Unit43>
|
||||||
@ -370,12 +368,51 @@
|
|||||||
<UnitName Value="library_base_intf"/>
|
<UnitName Value="library_base_intf"/>
|
||||||
<CursorPos X="25" Y="17"/>
|
<CursorPos X="25" Y="17"/>
|
||||||
<TopLine Value="5"/>
|
<TopLine Value="5"/>
|
||||||
<EditorIndex Value="4"/>
|
<EditorIndex Value="6"/>
|
||||||
<UsageCount Value="13"/>
|
<UsageCount Value="13"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit44>
|
</Unit44>
|
||||||
|
<Unit45>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<UnitName Value="json_formatter"/>
|
||||||
|
<CursorPos X="1" Y="123"/>
|
||||||
|
<TopLine Value="109"/>
|
||||||
|
<EditorIndex Value="1"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit45>
|
||||||
|
<Unit46>
|
||||||
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
|
<UnitName Value="base_json_formatter"/>
|
||||||
|
<CursorPos X="69" Y="1105"/>
|
||||||
|
<TopLine Value="1088"/>
|
||||||
|
<EditorIndex Value="2"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit46>
|
||||||
|
<Unit47>
|
||||||
|
<Filename Value="..\..\wst_global.inc"/>
|
||||||
|
<CursorPos X="1" Y="1"/>
|
||||||
|
<TopLine Value="4"/>
|
||||||
|
<EditorIndex Value="4"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit47>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
<JumpHistory Count="3" HistoryIndex="2">
|
||||||
|
<Position1>
|
||||||
|
<Filename Value="..\..\library_protocol.pas"/>
|
||||||
|
<Caret Line="120" Column="8" TopLine="117"/>
|
||||||
|
</Position1>
|
||||||
|
<Position2>
|
||||||
|
<Filename Value="..\..\library_protocol.pas"/>
|
||||||
|
<Caret Line="16" Column="3" TopLine="1"/>
|
||||||
|
</Position2>
|
||||||
|
<Position3>
|
||||||
|
<Filename Value="..\..\library_protocol.pas"/>
|
||||||
|
<Caret Line="1" Column="2" TopLine="1"/>
|
||||||
|
</Position3>
|
||||||
|
</JumpHistory>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="5"/>
|
<Version Value="5"/>
|
||||||
@ -392,7 +429,7 @@
|
|||||||
</CodeGeneration>
|
</CodeGeneration>
|
||||||
<Linking>
|
<Linking>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<UseLineInfoUnit Value="False"/>
|
<GenerateDebugInfo Value="True"/>
|
||||||
</Debugging>
|
</Debugging>
|
||||||
<LinkSmart Value="True"/>
|
<LinkSmart Value="True"/>
|
||||||
</Linking>
|
</Linking>
|
||||||
@ -401,7 +438,7 @@
|
|||||||
</Other>
|
</Other>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<BreakPoints Count="4">
|
<BreakPoints Count="6">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Source Value="D:\lazarusClean\fpcsrc\rtl\inc\getopts.pp"/>
|
<Source Value="D:\lazarusClean\fpcsrc\rtl\inc\getopts.pp"/>
|
||||||
<Line Value="230"/>
|
<Line Value="230"/>
|
||||||
@ -418,6 +455,14 @@
|
|||||||
<Source Value="..\..\ws_helper\wsdl2pas_imp.pas"/>
|
<Source Value="..\..\ws_helper\wsdl2pas_imp.pas"/>
|
||||||
<Line Value="606"/>
|
<Line Value="606"/>
|
||||||
</Item4>
|
</Item4>
|
||||||
|
<Item5>
|
||||||
|
<Source Value="..\..\json_formatter.pas"/>
|
||||||
|
<Line Value="184"/>
|
||||||
|
</Item5>
|
||||||
|
<Item6>
|
||||||
|
<Source Value="..\user_service_intf_proxy.pas"/>
|
||||||
|
<Line Value="65"/>
|
||||||
|
</Item6>
|
||||||
</BreakPoints>
|
</BreakPoints>
|
||||||
<Watches Count="2">
|
<Watches Count="2">
|
||||||
<Item1>
|
<Item1>
|
||||||
|
@ -5,8 +5,8 @@ program user_client_console;
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, TypInfo, {$IFDEF WINDOWS}ActiveX,{$ENDIF}
|
Classes, SysUtils, TypInfo, {$IFDEF WINDOWS}ActiveX,{$ENDIF}
|
||||||
user_service_intf_proxy,
|
user_service_intf_proxy,
|
||||||
same_process_protocol, synapse_tcp_protocol, synapse_http_protocol, library_protocol, ics_tcp_protocol, ics_http_protocol,
|
same_process_protocol, synapse_tcp_protocol, synapse_http_protocol, library_protocol,
|
||||||
soap_formatter, binary_formatter,
|
soap_formatter, binary_formatter, json_formatter,
|
||||||
user_service_intf, xmlrpc_formatter;
|
user_service_intf, xmlrpc_formatter;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -135,19 +135,20 @@ end;
|
|||||||
|
|
||||||
type
|
type
|
||||||
TTransportType = ( ttLibrary, ttTCP, ttHTTP );
|
TTransportType = ( ttLibrary, ttTCP, ttHTTP );
|
||||||
TFormatType = ( ftBinary, ftSoap, ftXmlRPC );
|
TFormatType = ( ftBinary, ftSoap, ftXmlRPC, ftJSON );
|
||||||
var
|
var
|
||||||
TransportType : TTransportType;
|
TransportType : TTransportType;
|
||||||
FormatValue : TFormatType;
|
FormatValue : TFormatType;
|
||||||
procedure CreateProxy();
|
procedure CreateProxy();
|
||||||
const ADDRESS_MAP : array[TTransportType] of string = (
|
const ADDRESS_MAP : array[TTransportType] of string = (
|
||||||
'LIB:FileName=..\library_server\lib_server.dll;target=UserService',
|
'LIB:FileName=..\library_server\lib_server.dll;target=UserService',
|
||||||
|
//'LIB:FileName=C:\Programmes\D7\etatcivil\partages\wst\samples\library_server\lib_server.dll;target=UserService',
|
||||||
//'TCP:Address=172.16.82.31;Port=1234;target=UserService',
|
//'TCP:Address=172.16.82.31;Port=1234;target=UserService',
|
||||||
'TCP:Address=127.0.0.1;Port=1234;target=UserService',
|
'TCP:Address=127.0.0.1;Port=1234;target=UserService',
|
||||||
'http:Address=http://127.0.0.1:8888/wst/services/lib_server/UserService'
|
'http:Address=http://127.0.0.1:8888/wst/services/lib_server/UserService'
|
||||||
//'http:Address=http://127.0.0.1:8000/services/UserService'
|
//'http:Address=http://127.0.0.1:8000/services/UserService'
|
||||||
);
|
);
|
||||||
FORMAT_MAP : array[TFormatType] of string =( 'binary', 'soap', 'xmlrpc' );
|
FORMAT_MAP : array[TFormatType] of string =( 'binary', 'soap', 'xmlrpc', 'json' );
|
||||||
var
|
var
|
||||||
buff : string;
|
buff : string;
|
||||||
begin
|
begin
|
||||||
@ -196,6 +197,7 @@ begin
|
|||||||
WriteLn();
|
WriteLn();
|
||||||
WriteLn('Select a messaging format : ');
|
WriteLn('Select a messaging format : ');
|
||||||
WriteLn(' B : binary ( binary_formatter.pas )');
|
WriteLn(' B : binary ( binary_formatter.pas )');
|
||||||
|
WriteLn(' J : JSON ( json_formatter.pas )');
|
||||||
WriteLn(' S : soap ( soap_formatter.pas )');
|
WriteLn(' S : soap ( soap_formatter.pas )');
|
||||||
WriteLn(' X : XmlRpc ( xmlrpc_formatter.pas )');
|
WriteLn(' X : XmlRpc ( xmlrpc_formatter.pas )');
|
||||||
WriteLn();
|
WriteLn();
|
||||||
@ -203,9 +205,10 @@ begin
|
|||||||
while True do begin
|
while True do begin
|
||||||
ReadLn(buff);
|
ReadLn(buff);
|
||||||
buff := UpperCase(Trim(buff));
|
buff := UpperCase(Trim(buff));
|
||||||
if ( Length(buff) > 0 ) and ( buff[1] in ['B','S', 'X'] ) then begin
|
if ( Length(buff) > 0 ) and ( buff[1] in ['B', 'J', 'S', 'X'] ) then begin
|
||||||
case buff[1] of
|
case buff[1] of
|
||||||
'B' : FormatValue := ftBinary;
|
'B' : FormatValue := ftBinary;
|
||||||
|
'J' : FormatValue := ftJSON;
|
||||||
'S' : FormatValue := ftSoap;
|
'S' : FormatValue := ftSoap;
|
||||||
'X' : FormatValue := ftXmlRPC;
|
'X' : FormatValue := ftXmlRPC;
|
||||||
end;
|
end;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
This unit has been produced by ws_helper.
|
This unit has been produced by ws_helper.
|
||||||
Input unit name : "user_service_intf".
|
Input unit name : "user_service_intf".
|
||||||
This unit name : "user_service_intf".
|
This unit name : "user_service_intf".
|
||||||
Date : "26/08/2007 01:03:09".
|
Date : "29/12/2007 00:43:35".
|
||||||
}
|
}
|
||||||
unit user_service_intf;
|
unit user_service_intf;
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
This unit has been produced by ws_helper.
|
This unit has been produced by ws_helper.
|
||||||
Input unit name : "user_service_intf".
|
Input unit name : "user_service_intf".
|
||||||
This unit name : "user_service_intf_binder".
|
This unit name : "user_service_intf_binder".
|
||||||
Date : "26/08/2007 01:03:09".
|
Date : "29/12/2007 00:43:35".
|
||||||
}
|
}
|
||||||
unit user_service_intf_binder;
|
unit user_service_intf_binder;
|
||||||
{$IFDEF FPC} {$mode objfpc}{$H+} {$ENDIF}
|
{$IFDEF FPC} {$mode objfpc}{$H+} {$ENDIF}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
This unit has been produced by ws_helper.
|
This unit has been produced by ws_helper.
|
||||||
Input unit name : "user_service_intf".
|
Input unit name : "user_service_intf".
|
||||||
This unit name : "user_service_intf_proxy".
|
This unit name : "user_service_intf_proxy".
|
||||||
Date : "26/08/2007 01:03:09".
|
Date : "29/12/2007 00:43:35".
|
||||||
}
|
}
|
||||||
|
|
||||||
Unit user_service_intf_proxy;
|
Unit user_service_intf_proxy;
|
||||||
|
180
wst/trunk/server_service_json.pas
Normal file
180
wst/trunk/server_service_json.pas
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
{
|
||||||
|
This file is part of the Web Service Toolkit
|
||||||
|
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||||
|
|
||||||
|
This file is provide under modified LGPL licence
|
||||||
|
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||||
|
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
}
|
||||||
|
{$INCLUDE wst_global.inc}
|
||||||
|
unit server_service_json;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, TypInfo,
|
||||||
|
base_service_intf, server_service_intf,
|
||||||
|
fpjson, base_json_formatter;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TJsonRpcFormatter }
|
||||||
|
|
||||||
|
TJsonRpcFormatter = class(TJsonRpcBaseFormatter,IFormatterBase,IFormatterResponse)
|
||||||
|
Private
|
||||||
|
FCallProcedureName : string;
|
||||||
|
FCallTarget : string;
|
||||||
|
FIDObject : TJSONData;
|
||||||
|
Protected
|
||||||
|
procedure BeginCallResponse(Const AProcName,ATarget:string);
|
||||||
|
procedure EndCallResponse();
|
||||||
|
procedure BeginCallRead(ACallContext : ICallContext);
|
||||||
|
function GetCallProcedureName():String;
|
||||||
|
function GetCallTarget():String;
|
||||||
|
procedure BeginExceptionList(
|
||||||
|
const AErrorCode : string;
|
||||||
|
const AErrorMsg : string
|
||||||
|
);
|
||||||
|
procedure EndExceptionList();
|
||||||
|
public
|
||||||
|
destructor Destroy();override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Server_service_RegisterJsonFormat();
|
||||||
|
|
||||||
|
implementation
|
||||||
|
uses jsonparser;
|
||||||
|
|
||||||
|
procedure Server_service_RegisterJsonFormat();
|
||||||
|
begin
|
||||||
|
GetFormatterRegistry().Register(s_json,s_json_ContentType,TSimpleItemFactory.Create(TJsonRpcFormatter) as IItemFactory);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function Clone(const AValue : TJSONData) : TJSONData;
|
||||||
|
var
|
||||||
|
locParser : TJSONParser;
|
||||||
|
begin
|
||||||
|
if Assigned(AValue) then begin
|
||||||
|
case AValue.JSONType() of
|
||||||
|
jtNumber :
|
||||||
|
begin
|
||||||
|
if ( TJSONNumber(AValue).NumberType() = ntInteger ) then
|
||||||
|
Result := TJSONIntegerNumber.Create(AValue.AsInteger)
|
||||||
|
else
|
||||||
|
Result := TJSONFloatNumber.Create(AValue.AsFloat);
|
||||||
|
end;
|
||||||
|
jtString : Result := TJSONString.Create(AValue.AsString);
|
||||||
|
jtBoolean : Result := TJSONBoolean.Create(AValue.AsBoolean);
|
||||||
|
jtNull : Result := TJSONNull.Create();
|
||||||
|
jtArray,
|
||||||
|
jtObject :
|
||||||
|
begin
|
||||||
|
locParser := TJSONParser.Create(AValue.AsJSON);
|
||||||
|
try
|
||||||
|
Result := locParser.Parse();
|
||||||
|
finally
|
||||||
|
locParser.Free();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
raise Exception.Create('Invalid JSON object type.');
|
||||||
|
end;
|
||||||
|
end else begin
|
||||||
|
Result := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TJsonRpcFormatter }
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.BeginCallResponse(const AProcName, ATarget : string);
|
||||||
|
begin
|
||||||
|
Clear();
|
||||||
|
BeginObject('',nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.EndCallResponse();
|
||||||
|
var
|
||||||
|
locRoot : TJSONObject;
|
||||||
|
begin
|
||||||
|
locRoot := GetRootData();
|
||||||
|
locRoot.Elements[s_json_error] := TJSONNull.Create();
|
||||||
|
if Assigned(FIDObject) then begin
|
||||||
|
locRoot.Elements[s_json_id] := FIDObject;
|
||||||
|
FIDObject := nil;
|
||||||
|
end else begin
|
||||||
|
locRoot.Elements[s_json_id] := TJSONNull.Create();
|
||||||
|
end;
|
||||||
|
EndScope();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.BeginCallRead(ACallContext : ICallContext);
|
||||||
|
var
|
||||||
|
nameBuffer, strBuffer : string;
|
||||||
|
rootObj : TJSONObject;
|
||||||
|
i : PtrInt;
|
||||||
|
begin
|
||||||
|
ClearStack();
|
||||||
|
FreeAndNil(FIDObject);
|
||||||
|
rootObj := GetRootData();
|
||||||
|
PushStack(rootObj,stObject);
|
||||||
|
nameBuffer := s_json_method;
|
||||||
|
Get(TypeInfo(string),nameBuffer,FCallProcedureName);
|
||||||
|
i := rootObj.IndexOfName(s_json_id);
|
||||||
|
if ( i > -1 ) then
|
||||||
|
FIDObject := Clone(rootObj);
|
||||||
|
nameBuffer := s_json_params;
|
||||||
|
BeginArrayRead(nameBuffer,nil,asScoped,'');
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJsonRpcFormatter.GetCallProcedureName() : String;
|
||||||
|
begin
|
||||||
|
Result := FCallProcedureName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJsonRpcFormatter.GetCallTarget() : String;
|
||||||
|
begin
|
||||||
|
Result := FCallTarget;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.BeginExceptionList(
|
||||||
|
const AErrorCode : string;
|
||||||
|
const AErrorMsg : string
|
||||||
|
);
|
||||||
|
var
|
||||||
|
locRoot, locError : TJSONObject;
|
||||||
|
begin
|
||||||
|
Clear();
|
||||||
|
BeginObject('',nil);
|
||||||
|
|
||||||
|
locRoot := GetRootData();
|
||||||
|
locRoot.Elements[s_json_result] := TJSONNull.Create();
|
||||||
|
locError := TJSONObject.Create();
|
||||||
|
locRoot.Elements[s_json_error] := locError;
|
||||||
|
locError.Add(s_json_name,'');
|
||||||
|
locError.Add(s_json_code,StrToIntDef(AErrorCode,0));
|
||||||
|
locError.Add(s_json_message,AErrorMsg);
|
||||||
|
if Assigned(FIDObject) then begin
|
||||||
|
locRoot.Elements[s_json_id] := FIDObject;
|
||||||
|
FIDObject := nil;
|
||||||
|
end else begin
|
||||||
|
locRoot.Elements[s_json_id] := TJSONNull.Create();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJsonRpcFormatter.EndExceptionList();
|
||||||
|
begin
|
||||||
|
EndScope();
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TJsonRpcFormatter.Destroy();
|
||||||
|
begin
|
||||||
|
FreeAndNil(FIDObject);
|
||||||
|
inherited Destroy();
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
@ -11,7 +11,9 @@ uses
|
|||||||
test_support in '..\test_support.pas',
|
test_support in '..\test_support.pas',
|
||||||
test_utilities in '..\test_utilities.pas',
|
test_utilities in '..\test_utilities.pas',
|
||||||
testformatter_unit in '..\testformatter_unit.pas',
|
testformatter_unit in '..\testformatter_unit.pas',
|
||||||
base_service_intf in '..\..\..\base_service_intf.pas';
|
base_service_intf in '..\..\..\base_service_intf.pas',
|
||||||
|
basex_encode in '..\..\..\basex_encode.pas',
|
||||||
|
test_basex_encode in '..\test_basex_encode.pas';
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
|
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<definitions name="wst_test"
|
||||||
|
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
||||||
|
xmlns:tns="library1"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||||
|
targetNamespace="urn:wst-test">
|
||||||
|
|
||||||
|
<types>
|
||||||
|
|
||||||
|
<xsd:schema xmlns:n="urn:wst-test"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="urn:wst-test">
|
||||||
|
|
||||||
|
<xsd:complexType name="TClassSampleType">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="intField" type="xsd:int">
|
||||||
|
</xsd:attribute>
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="TClassSampleTypeA">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:base64Binary">
|
||||||
|
<xsd:attribute name="floatField" type="xsd:float">
|
||||||
|
</xsd:attribute>
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
</xsd:schema>
|
||||||
|
|
||||||
|
</types>
|
||||||
|
|
||||||
|
|
||||||
|
</definitions>
|
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xsd:schema xmlns:n="urn:wst-test"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="urn:wst-test">
|
||||||
|
|
||||||
|
<xsd:complexType name="TClassSampleType">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="intField" type="xsd:int">
|
||||||
|
</xsd:attribute>
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="TClassSampleTypeA">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:base64Binary">
|
||||||
|
<xsd:attribute name="floatField" type="xsd:float">
|
||||||
|
</xsd:attribute>
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
</xsd:schema>
|
159
wst/trunk/tests/test_suite/test_basex_encode.pas
Normal file
159
wst/trunk/tests/test_suite/test_basex_encode.pas
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
{ This file is part of the Web Service Toolkit
|
||||||
|
Copyright (c) 2006, 2007 by Inoussa OUEDRAOGO
|
||||||
|
|
||||||
|
This file is provide under modified LGPL licence
|
||||||
|
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||||
|
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
}
|
||||||
|
{$INCLUDE wst_global.inc}
|
||||||
|
unit test_basex_encode;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,
|
||||||
|
{$IFDEF FPC}
|
||||||
|
fpcunit, testregistry,
|
||||||
|
{$ELSE}
|
||||||
|
TestFrameWork,
|
||||||
|
{$ENDIF}
|
||||||
|
TypInfo,
|
||||||
|
wst_types, basex_encode;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
TTest_Base64 = class(TTestCase)
|
||||||
|
protected
|
||||||
|
procedure Check_Encode(const AIn, AExpect : string);
|
||||||
|
procedure Check_Decode(const AIn, AExpect : string; const AOptions : TBaseXOptions = [xoDecodeIgnoreIllegalChar]);
|
||||||
|
published
|
||||||
|
procedure Encode_empty();
|
||||||
|
procedure Encode_f();
|
||||||
|
procedure Encode_fo();
|
||||||
|
procedure Encode_foo();
|
||||||
|
procedure Encode_foob();
|
||||||
|
procedure Encode_fooba();
|
||||||
|
procedure Encode_foobar();
|
||||||
|
|
||||||
|
procedure Decode_f();
|
||||||
|
procedure Decode_fo();
|
||||||
|
procedure Decode_foo();
|
||||||
|
procedure Decode_foob();
|
||||||
|
procedure Decode_fooba();
|
||||||
|
procedure Decode_foobar();
|
||||||
|
procedure Decode_illegal_char();
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TTest_Base64 }
|
||||||
|
|
||||||
|
procedure TTest_Base64.Check_Decode(const AIn, AExpect: string; const AOptions : TBaseXOptions);
|
||||||
|
var
|
||||||
|
locRes : string;
|
||||||
|
begin
|
||||||
|
locRes := Base64Decode(AIn,AOptions);
|
||||||
|
CheckEquals(AExpect,locRes);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Check_Encode(const AIn, AExpect: string);
|
||||||
|
var
|
||||||
|
locRes : string;
|
||||||
|
begin
|
||||||
|
locRes := Base64Encode(AIn);
|
||||||
|
CheckEquals(AExpect,locRes);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_f();
|
||||||
|
begin
|
||||||
|
Check_Decode('Zg==','f');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_fo();
|
||||||
|
begin
|
||||||
|
Check_Decode('Zm8=','fo');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_foo();
|
||||||
|
begin
|
||||||
|
Check_Decode('Zm9v','foo');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_foob();
|
||||||
|
begin
|
||||||
|
Check_Decode('Zm9vYg==','foob');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_fooba();
|
||||||
|
begin
|
||||||
|
Check_Decode('Zm9vYmE=','fooba');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_foobar();
|
||||||
|
begin
|
||||||
|
Check_Decode('Zm9vYmFy','foobar');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Decode_illegal_char();
|
||||||
|
var
|
||||||
|
ok : Boolean;
|
||||||
|
begin
|
||||||
|
ok := False;
|
||||||
|
try
|
||||||
|
Check_Decode('Zm9'#200'vY' + sLineBreak + 'm'#0'Fy','foobar',[]);
|
||||||
|
except
|
||||||
|
on e : EBase64Exception do
|
||||||
|
ok := True;
|
||||||
|
end;
|
||||||
|
CheckEquals(True,ok);
|
||||||
|
|
||||||
|
Check_Decode('Zm9'#200'vY' + sLineBreak + 'm'#0'Fy','foobar',[xoDecodeIgnoreIllegalChar]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_empty();
|
||||||
|
begin
|
||||||
|
Check_Encode('','');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_f();
|
||||||
|
begin
|
||||||
|
Check_Encode('f','Zg==');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_fo();
|
||||||
|
begin
|
||||||
|
Check_Encode('fo','Zm8=');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_foo();
|
||||||
|
begin
|
||||||
|
Check_Encode('foo','Zm9v');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_foob();
|
||||||
|
begin
|
||||||
|
Check_Encode('foob','Zm9vYg==');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_fooba();
|
||||||
|
begin
|
||||||
|
Check_Encode('fooba','Zm9vYmE=');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_Base64.Encode_foobar();
|
||||||
|
var
|
||||||
|
a, b : string;
|
||||||
|
begin
|
||||||
|
a := 'foobar';
|
||||||
|
b := 'Zm9vYmFy';
|
||||||
|
Check_Encode(a,b);
|
||||||
|
//Check_Encode('foobar','Zm9vYmFy');
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterTest('Encoding',TTest_Base64.Suite);
|
||||||
|
|
||||||
|
end.
|
@ -36,6 +36,7 @@ type
|
|||||||
|
|
||||||
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;virtual;abstract;
|
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||||
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||||
|
function LoadComplexType_Class_Extend_Simple_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||||
|
|
||||||
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;virtual;abstract;
|
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||||
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||||
@ -51,6 +52,7 @@ type
|
|||||||
|
|
||||||
procedure ComplexType_Class();
|
procedure ComplexType_Class();
|
||||||
procedure ComplexType_Class_Embedded();
|
procedure ComplexType_Class_Embedded();
|
||||||
|
procedure ComplexType_Class_Extend_Simple_Schema();
|
||||||
|
|
||||||
procedure ComplexType_Record();
|
procedure ComplexType_Record();
|
||||||
procedure ComplexType_Record_Embedded();
|
procedure ComplexType_Record_Embedded();
|
||||||
@ -73,6 +75,7 @@ type
|
|||||||
|
|
||||||
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
|
||||||
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||||
|
function LoadComplexType_Class_Extend_Simple_Schema() : TwstPasTreeContainer;override;
|
||||||
|
|
||||||
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;override;
|
||||||
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||||
@ -95,6 +98,7 @@ type
|
|||||||
|
|
||||||
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
|
||||||
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||||
|
function LoadComplexType_Class_Extend_Simple_Schema() : TwstPasTreeContainer;override;
|
||||||
|
|
||||||
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;override;
|
||||||
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;override;
|
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||||
@ -113,6 +117,7 @@ const
|
|||||||
x_complexType_SampleArrayItemType = 'TArrayItemType';
|
x_complexType_SampleArrayItemType = 'TArrayItemType';
|
||||||
x_complexType_SampleDerivedType = 'TClassSampleDerivedType';
|
x_complexType_SampleDerivedType = 'TClassSampleDerivedType';
|
||||||
x_complexType_SampleClassType = 'TClassSampleType';
|
x_complexType_SampleClassType = 'TClassSampleType';
|
||||||
|
x_complexType_SampleClassTypeA = 'TClassSampleTypeA';
|
||||||
x_complexType_SampleClassTypeAll = 'TClassSampleTypeAll';
|
x_complexType_SampleClassTypeAll = 'TClassSampleTypeAll';
|
||||||
x_complexType_SampleClass = 'TClassSample';
|
x_complexType_SampleClass = 'TClassSample';
|
||||||
|
|
||||||
@ -123,6 +128,7 @@ const
|
|||||||
x_complexType_array_sequence = 'complex_array_sequence';
|
x_complexType_array_sequence = 'complex_array_sequence';
|
||||||
x_complexType_array_sequence_embedded = 'complex_array_sequence_embedded';
|
x_complexType_array_sequence_embedded = 'complex_array_sequence_embedded';
|
||||||
x_complexType_class = 'complex_class';
|
x_complexType_class = 'complex_class';
|
||||||
|
x_complexType_extend_simple = 'complex_class_extend_simple';
|
||||||
x_complexType_class_embedded = 'complex_class_embedded';
|
x_complexType_class_embedded = 'complex_class_embedded';
|
||||||
x_complexType_record = 'complex_record';
|
x_complexType_record = 'complex_record';
|
||||||
x_complexType_record_embedded = 'complex_record_embedded';
|
x_complexType_record_embedded = 'complex_record_embedded';
|
||||||
@ -544,6 +550,75 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTest_CustomXsdParser.ComplexType_Class_Extend_Simple_Schema();
|
||||||
|
var
|
||||||
|
tr : TwstPasTreeContainer;
|
||||||
|
clsType : TPasClassType;
|
||||||
|
|
||||||
|
procedure CheckProperty(const AName,ATypeName : string; const AFieldType : TPropertyType);
|
||||||
|
var
|
||||||
|
prp : TPasProperty;
|
||||||
|
begin
|
||||||
|
prp := FindMember(clsType,AName) as TPasProperty;
|
||||||
|
CheckNotNull(prp);
|
||||||
|
CheckEquals(AName,prp.Name);
|
||||||
|
CheckEquals(AName,tr.GetExternalName(prp));
|
||||||
|
CheckNotNull(prp.VarType);
|
||||||
|
CheckEquals(ATypeName,tr.GetExternalName(prp.VarType));
|
||||||
|
CheckEquals(PropertyType_Att[AFieldType],tr.IsAttributeProperty(prp));
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
mdl : TPasModule;
|
||||||
|
ls : TList;
|
||||||
|
elt : TPasElement;
|
||||||
|
aliasType : TPasAliasType;
|
||||||
|
i : Integer;
|
||||||
|
prpLs : TList;
|
||||||
|
begin
|
||||||
|
prpLs := TList.Create();
|
||||||
|
try
|
||||||
|
tr := LoadComplexType_Class_Extend_Simple_Schema();
|
||||||
|
|
||||||
|
mdl := tr.FindModule(x_targetNamespace);
|
||||||
|
CheckNotNull(mdl);
|
||||||
|
CheckEquals(x_complexType_extend_simple,mdl.Name);
|
||||||
|
CheckEquals(x_targetNamespace,tr.GetExternalName(mdl));
|
||||||
|
ls := mdl.InterfaceSection.Declarations;
|
||||||
|
CheckEquals(2,ls.Count);
|
||||||
|
elt := tr.FindElement(x_complexType_SampleClassType);
|
||||||
|
CheckNotNull(elt,x_complexType_SampleClassType);
|
||||||
|
CheckEquals(x_complexType_SampleClassType,elt.Name);
|
||||||
|
CheckEquals(x_complexType_SampleClassType,tr.GetExternalName(elt));
|
||||||
|
CheckIs(elt,TPasClassType);
|
||||||
|
clsType := elt as TPasClassType;
|
||||||
|
prpLs.Clear();
|
||||||
|
for i := 0 to Pred(clsType.Members.Count) do begin
|
||||||
|
if TPasElement(clsType.Members[i]).InheritsFrom(TPasProperty) then
|
||||||
|
prpLs.Add(clsType.Members[i]);
|
||||||
|
end;
|
||||||
|
CheckEquals(1,prpLs.Count);
|
||||||
|
CheckProperty(x_intField,'int',ptAttribute);
|
||||||
|
|
||||||
|
|
||||||
|
elt := tr.FindElement(x_complexType_SampleClassTypeA);
|
||||||
|
CheckNotNull(elt,x_complexType_SampleClassTypeA);
|
||||||
|
CheckEquals(x_complexType_SampleClassTypeA,elt.Name);
|
||||||
|
CheckEquals(x_complexType_SampleClassTypeA,tr.GetExternalName(elt));
|
||||||
|
CheckIs(elt,TPasClassType);
|
||||||
|
clsType := elt as TPasClassType;
|
||||||
|
prpLs.Clear();
|
||||||
|
for i := 0 to Pred(clsType.Members.Count) do begin
|
||||||
|
if TPasElement(clsType.Members[i]).InheritsFrom(TPasProperty) then
|
||||||
|
prpLs.Add(clsType.Members[i]);
|
||||||
|
end;
|
||||||
|
CheckEquals(1,prpLs.Count);
|
||||||
|
CheckProperty(x_floatField,'float',ptAttribute);
|
||||||
|
finally
|
||||||
|
FreeAndNil(prpLs);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTest_CustomXsdParser.ComplexType_Record();
|
procedure TTest_CustomXsdParser.ComplexType_Record();
|
||||||
var
|
var
|
||||||
tr : TwstPasTreeContainer;
|
tr : TwstPasTreeContainer;
|
||||||
@ -950,6 +1025,11 @@ begin
|
|||||||
Result := ParseDoc(x_complexType_class_embedded);
|
Result := ParseDoc(x_complexType_class_embedded);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TTest_XsdParser.LoadComplexType_Class_Extend_Simple_Schema( ) : TwstPasTreeContainer;
|
||||||
|
begin
|
||||||
|
Result := ParseDoc(x_complexType_extend_simple);
|
||||||
|
end;
|
||||||
|
|
||||||
function TTest_XsdParser.LoadComplexType_Record_Schema(): TwstPasTreeContainer;
|
function TTest_XsdParser.LoadComplexType_Record_Schema(): TwstPasTreeContainer;
|
||||||
begin
|
begin
|
||||||
Result := ParseDoc(x_complexType_record);
|
Result := ParseDoc(x_complexType_record);
|
||||||
@ -1023,6 +1103,11 @@ begin
|
|||||||
Result := ParseDoc(x_complexType_class_embedded);
|
Result := ParseDoc(x_complexType_class_embedded);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TTest_WsdlParser.LoadComplexType_Class_Extend_Simple_Schema() : TwstPasTreeContainer;
|
||||||
|
begin
|
||||||
|
Result := ParseDoc(x_complexType_extend_simple);
|
||||||
|
end;
|
||||||
|
|
||||||
function TTest_WsdlParser.LoadComplexType_Record_Schema(): TwstPasTreeContainer;
|
function TTest_WsdlParser.LoadComplexType_Record_Schema(): TwstPasTreeContainer;
|
||||||
begin
|
begin
|
||||||
Result := ParseDoc(x_complexType_record);
|
Result := ParseDoc(x_complexType_record);
|
||||||
|
@ -331,8 +331,27 @@ type
|
|||||||
procedure Equal();
|
procedure Equal();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TTest_TBase64StringRemotable }
|
||||||
|
|
||||||
|
TTest_TBase64StringRemotable = class(TTestCase)
|
||||||
|
published
|
||||||
|
procedure test_Assign();
|
||||||
|
procedure Equal();
|
||||||
|
procedure SetBinaryData();
|
||||||
|
procedure SetEncodedString();
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TTest_TBase64StringExtRemotable }
|
||||||
|
|
||||||
|
TTest_TBase64StringExtRemotable = class(TTestCase)
|
||||||
|
published
|
||||||
|
procedure Equal();
|
||||||
|
procedure SetBinaryData();
|
||||||
|
procedure SetEncodedString();
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
uses Math;
|
uses Math, basex_encode;
|
||||||
|
|
||||||
function RandomValue(const AMaxlen: Integer): ansistring;
|
function RandomValue(const AMaxlen: Integer): ansistring;
|
||||||
var
|
var
|
||||||
@ -2291,6 +2310,214 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TTest_TBase64StringRemotable }
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringRemotable.test_Assign();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a, b : TBase64StringRemotable;
|
||||||
|
begin
|
||||||
|
b := nil;
|
||||||
|
a := TBase64StringRemotable.Create();
|
||||||
|
try
|
||||||
|
b := TBase64StringRemotable.Create();
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
a.BinaryData := RandomValue(Random(500));
|
||||||
|
b.Assign(a);
|
||||||
|
CheckEquals(a.BinaryData, b.BinaryData);
|
||||||
|
CheckEquals(a.EncodedString, b.EncodedString);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(b);
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringRemotable.Equal();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a, b : TBase64StringRemotable;
|
||||||
|
c : TClass_A;
|
||||||
|
begin
|
||||||
|
c := nil;
|
||||||
|
b := nil;
|
||||||
|
a := TBase64StringRemotable.Create();
|
||||||
|
try
|
||||||
|
b := TBase64StringRemotable.Create();
|
||||||
|
CheckEquals(False, a.Equal(nil));
|
||||||
|
c := TClass_A.Create();
|
||||||
|
CheckEquals(False, a.Equal(c));
|
||||||
|
a.BinaryData := 'wst';
|
||||||
|
b.BinaryData := 'azerty';
|
||||||
|
CheckEquals(False, a.Equal(b));
|
||||||
|
CheckEquals(False, b.Equal(a));
|
||||||
|
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
a.BinaryData := RandomValue(Random(500));
|
||||||
|
b.BinaryData := a.BinaryData;
|
||||||
|
CheckEquals(True, a.Equal(b));
|
||||||
|
CheckEquals(True, b.Equal(a));
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(c);
|
||||||
|
FreeAndNil(b);
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringRemotable.SetBinaryData();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a : TBase64StringRemotable;
|
||||||
|
s, es : string;
|
||||||
|
begin
|
||||||
|
a := TBase64StringRemotable.Create();
|
||||||
|
try
|
||||||
|
s := ''; es := Base64Encode(s);
|
||||||
|
a.BinaryData := s;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
s := RandomValue(Random(500)); es := Base64Encode(s);
|
||||||
|
a.BinaryData := s;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringRemotable.SetEncodedString();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a : TBase64StringRemotable;
|
||||||
|
s, es : string;
|
||||||
|
begin
|
||||||
|
a := TBase64StringRemotable.Create();
|
||||||
|
try
|
||||||
|
s := ''; es := Base64Encode(s);
|
||||||
|
a.EncodedString := es;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
s := RandomValue(Random(500)); es := Base64Encode(s);
|
||||||
|
a.EncodedString := es;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TTest_TBase64StringExtRemotable }
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringExtRemotable.Equal();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a, b : TBase64StringExtRemotable;
|
||||||
|
c : TClass_A;
|
||||||
|
begin
|
||||||
|
c := nil;
|
||||||
|
b := nil;
|
||||||
|
a := TBase64StringExtRemotable.Create();
|
||||||
|
try
|
||||||
|
b := TBase64StringExtRemotable.Create();
|
||||||
|
CheckEquals(False, a.Equal(nil));
|
||||||
|
c := TClass_A.Create();
|
||||||
|
CheckEquals(False, a.Equal(c));
|
||||||
|
a.BinaryData := 'wst';
|
||||||
|
b.BinaryData := 'azerty';
|
||||||
|
CheckEquals(False, a.Equal(b));
|
||||||
|
CheckEquals(False, b.Equal(a));
|
||||||
|
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
a.BinaryData := RandomValue(Random(500));
|
||||||
|
b.BinaryData := a.BinaryData;
|
||||||
|
CheckEquals(True, a.Equal(b));
|
||||||
|
CheckEquals(True, b.Equal(a));
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(c);
|
||||||
|
FreeAndNil(b);
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringExtRemotable.SetBinaryData();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a : TBase64StringExtRemotable;
|
||||||
|
s, es : string;
|
||||||
|
begin
|
||||||
|
a := TBase64StringExtRemotable.Create();
|
||||||
|
try
|
||||||
|
s := ''; es := Base64Encode(s);
|
||||||
|
a.BinaryData := s;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
s := RandomValue(Random(500)); es := Base64Encode(s);
|
||||||
|
a.BinaryData := s;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_TBase64StringExtRemotable.SetEncodedString();
|
||||||
|
const ITER = 100;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
a : TBase64StringExtRemotable;
|
||||||
|
s, es : string;
|
||||||
|
begin
|
||||||
|
a := TBase64StringExtRemotable.Create();
|
||||||
|
try
|
||||||
|
s := ''; es := Base64Encode(s);
|
||||||
|
a.EncodedString := es;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
|
||||||
|
for i := 1 to ITER do begin
|
||||||
|
s := RandomValue(Random(500)); es := Base64Encode(s);
|
||||||
|
a.EncodedString := es;
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
CheckEquals(s,a.BinaryData);
|
||||||
|
CheckEquals(es,a.EncodedString);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(a);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
RegisterTest('Support',TTest_TBaseComplexRemotable.Suite);
|
RegisterTest('Support',TTest_TBaseComplexRemotable.Suite);
|
||||||
RegisterTest('Support',TTest_TStringBufferRemotable.Suite);
|
RegisterTest('Support',TTest_TStringBufferRemotable.Suite);
|
||||||
@ -2317,5 +2544,8 @@ initialization
|
|||||||
|
|
||||||
RegisterTest('Support',TTest_TBaseObjectArrayRemotable.Suite);
|
RegisterTest('Support',TTest_TBaseObjectArrayRemotable.Suite);
|
||||||
|
|
||||||
|
RegisterTest('Support',TTest_TBase64StringRemotable.Suite);
|
||||||
|
RegisterTest('Support',TTest_TBase64StringExtRemotable.Suite);
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -24,7 +24,11 @@ uses
|
|||||||
TestFrameWork, ActiveX,
|
TestFrameWork, ActiveX,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
TypInfo,
|
TypInfo,
|
||||||
base_service_intf, wst_types, server_service_intf, service_intf;
|
base_service_intf, wst_types, server_service_intf, service_intf
|
||||||
|
{$IFDEF FPC}
|
||||||
|
, fpjson, jsonparser, base_json_formatter, json_formatter, server_service_json
|
||||||
|
{$ENDIF}
|
||||||
|
;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -340,6 +344,7 @@ type
|
|||||||
TTestFormatter = class(TTestFormatterSimpleType)
|
TTestFormatter = class(TTestFormatterSimpleType)
|
||||||
protected
|
protected
|
||||||
class function GetFormaterName() : string;virtual;abstract;
|
class function GetFormaterName() : string;virtual;abstract;
|
||||||
|
class function SupportNamedArrayItem() : Boolean;virtual;
|
||||||
published
|
published
|
||||||
procedure Test_Int_WithClass;
|
procedure Test_Int_WithClass;
|
||||||
|
|
||||||
@ -410,6 +415,7 @@ type
|
|||||||
TTestSOAPFormatter= class(TTestFormatter)
|
TTestSOAPFormatter= class(TTestFormatter)
|
||||||
protected
|
protected
|
||||||
class function GetFormaterName() : string;override;
|
class function GetFormaterName() : string;override;
|
||||||
|
class function SupportNamedArrayItem() : Boolean;override;
|
||||||
function CreateFormatter(ARootType : PTypeInfo):IFormatterBase;override;
|
function CreateFormatter(ARootType : PTypeInfo):IFormatterBase;override;
|
||||||
published
|
published
|
||||||
procedure test_WriteBuffer();
|
procedure test_WriteBuffer();
|
||||||
@ -439,6 +445,18 @@ type
|
|||||||
procedure test_WriteBuffer();
|
procedure test_WriteBuffer();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TTestJsonRpcFormatter }
|
||||||
|
|
||||||
|
TTestJsonRpcFormatter= class(TTestFormatter)
|
||||||
|
protected
|
||||||
|
class function GetFormaterName() : string;override;
|
||||||
|
function CreateFormatter(ARootType : PTypeInfo):IFormatterBase;override;
|
||||||
|
function Support_ComplextType_with_SimpleContent():Boolean;override;
|
||||||
|
function Support_nil():Boolean;override;
|
||||||
|
published
|
||||||
|
//procedure test_WriteBuffer();
|
||||||
|
end;
|
||||||
|
|
||||||
{ TTestArray }
|
{ TTestArray }
|
||||||
|
|
||||||
TTestArray= class(TTestCase)
|
TTestArray= class(TTestCase)
|
||||||
@ -508,6 +526,17 @@ type
|
|||||||
procedure ExceptBlock_client();
|
procedure ExceptBlock_client();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TTest_JsonRpcFormatterExceptionBlock }
|
||||||
|
|
||||||
|
TTest_JsonRpcFormatterExceptionBlock = class(TTestCase)
|
||||||
|
protected
|
||||||
|
function CreateFormatter():IFormatterResponse;
|
||||||
|
function CreateFormatterClient():IFormatterClient;
|
||||||
|
published
|
||||||
|
procedure ExceptBlock_server();
|
||||||
|
procedure ExceptBlock_client();
|
||||||
|
end;
|
||||||
|
|
||||||
{ TTest_TStringBufferRemotable }
|
{ TTest_TStringBufferRemotable }
|
||||||
|
|
||||||
TTest_TStringBufferRemotable = class(TTestCase)
|
TTest_TStringBufferRemotable = class(TTestCase)
|
||||||
@ -1185,6 +1214,11 @@ begin
|
|||||||
End;
|
End;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
class function TTestFormatter.SupportNamedArrayItem() : Boolean;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestFormatter.Test_Int_WithClass;
|
procedure TTestFormatter.Test_Int_WithClass;
|
||||||
Var
|
Var
|
||||||
f : IFormatterBase;
|
f : IFormatterBase;
|
||||||
@ -1370,7 +1404,7 @@ begin
|
|||||||
f.EndScope();
|
f.EndScope();
|
||||||
|
|
||||||
s := TMemoryStream.Create();
|
s := TMemoryStream.Create();
|
||||||
f.SaveToStream(s); s.SaveToFile(ClassName + '.txt');
|
f.SaveToStream(s); s.SaveToFile(ClassName + '.Test_CplxInt64SimpleContent_WithClass.txt');
|
||||||
FreeAndNil(a);
|
FreeAndNil(a);
|
||||||
|
|
||||||
a := TClass_CplxSimpleContent.Create();
|
a := TClass_CplxSimpleContent.Create();
|
||||||
@ -2896,7 +2930,7 @@ begin
|
|||||||
f.BeginObject('Root',TypeInfo(TClass_A));
|
f.BeginObject('Root',TypeInfo(TClass_A));
|
||||||
f.Put('a',TypeInfo(TClass_A),a);
|
f.Put('a',TypeInfo(TClass_A),a);
|
||||||
f.Put('b',TypeInfo(TClass_A),b);
|
f.Put('b',TypeInfo(TClass_A),b);
|
||||||
f.Put('intv',TypeInfo(TArrayOfStringRemotable),intv);
|
f.Put('intv',TypeInfo(TArrayOfStringRemotableSample),intv);
|
||||||
f.EndScope();
|
f.EndScope();
|
||||||
|
|
||||||
s := TMemoryStream.Create();
|
s := TMemoryStream.Create();
|
||||||
@ -2906,7 +2940,7 @@ begin
|
|||||||
FreeAndNil(intv);
|
FreeAndNil(intv);
|
||||||
|
|
||||||
ls := TStringList.Create();
|
ls := TStringList.Create();
|
||||||
f := CreateFormatter(TypeInfo(TClass_A));
|
f := CreateFormatter(TypeInfo(TClass_A)); s.SaveToFile(ClassName + '.test_GetScopeItemNames.xml');
|
||||||
s.Position := 0;
|
s.Position := 0;
|
||||||
f.LoadFromStream(s);
|
f.LoadFromStream(s);
|
||||||
x := 'Root';
|
x := 'Root';
|
||||||
@ -2936,7 +2970,8 @@ begin
|
|||||||
x := 'intv';
|
x := 'intv';
|
||||||
f.BeginArrayRead(x,TypeInfo(TArrayOfStringRemotableSample),asScoped,'OI');
|
f.BeginArrayRead(x,TypeInfo(TArrayOfStringRemotableSample),asScoped,'OI');
|
||||||
CheckEquals(3, f.GetScopeItemNames(ls), 'GetScopeItemNames.Count(intv)');
|
CheckEquals(3, f.GetScopeItemNames(ls), 'GetScopeItemNames.Count(intv)');
|
||||||
//Check( ls.IndexOf('OI') >= 0 );
|
if SupportNamedArrayItem() then
|
||||||
|
Check( ls.IndexOf('OI') >= 0, 'Named item' );
|
||||||
f.EndScopeRead();
|
f.EndScopeRead();
|
||||||
|
|
||||||
f.EndScopeRead();
|
f.EndScopeRead();
|
||||||
@ -3016,6 +3051,11 @@ begin
|
|||||||
Result := 'SOAP';
|
Result := 'SOAP';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
class function TTestSOAPFormatter.SupportNamedArrayItem() : Boolean;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestSOAPFormatter.test_WriteBuffer();
|
procedure TTestSOAPFormatter.test_WriteBuffer();
|
||||||
const
|
const
|
||||||
s_XML_BUFFER =
|
s_XML_BUFFER =
|
||||||
@ -4204,6 +4244,116 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TTestJsonRpcFormatter }
|
||||||
|
|
||||||
|
class function TTestJsonRpcFormatter.GetFormaterName() : string;
|
||||||
|
begin
|
||||||
|
Result := 'json';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTestJsonRpcFormatter.CreateFormatter(ARootType : PTypeInfo) : IFormatterBase;
|
||||||
|
begin
|
||||||
|
{$IFDEF FPC}
|
||||||
|
Result := TJsonRpcBaseFormatter.Create();
|
||||||
|
Result.BeginObject('root',nil);
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTestJsonRpcFormatter.Support_ComplextType_with_SimpleContent() : Boolean;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTestJsonRpcFormatter.Support_nil() : Boolean;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TTest_JsonRpcFormatterExceptionBlock }
|
||||||
|
|
||||||
|
function TTest_JsonRpcFormatterExceptionBlock.CreateFormatter() : IFormatterResponse;
|
||||||
|
begin
|
||||||
|
Result := server_service_json.TJsonRpcFormatter.Create() as IFormatterResponse;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTest_JsonRpcFormatterExceptionBlock.CreateFormatterClient() : IFormatterClient;
|
||||||
|
begin
|
||||||
|
{$IFDEF FPC}
|
||||||
|
Result := json_formatter.TJsonRpcFormatter.Create() as IFormatterClient;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_JsonRpcFormatterExceptionBlock.ExceptBlock_server();
|
||||||
|
const VAL_CODE = '1210'; VAL_MSG = 'This is a sample exception message.';
|
||||||
|
var
|
||||||
|
f : IFormatterResponse;
|
||||||
|
strm : TMemoryStream;
|
||||||
|
locParser : TJSONParser;
|
||||||
|
root, errorNodeObj : TJSONObject;
|
||||||
|
errorNode, tmpNode : TJSONData;
|
||||||
|
excpt_code, excpt_msg : string;
|
||||||
|
begin
|
||||||
|
root := nil;
|
||||||
|
f := CreateFormatter();
|
||||||
|
f.BeginExceptionList(VAL_CODE,VAL_MSG);
|
||||||
|
f.EndExceptionList();
|
||||||
|
locParser := nil;
|
||||||
|
strm := TMemoryStream.Create();
|
||||||
|
try
|
||||||
|
f.SaveToStream(strm); strm.SaveToFile('TTest_JsonRpcFormatterExceptionBlock.ExceptBlock_server.txt');
|
||||||
|
strm.Position := 0;
|
||||||
|
locParser := TJSONParser.Create(strm);
|
||||||
|
root := locParser.Parse() as TJSONObject;
|
||||||
|
Check(Assigned(root));
|
||||||
|
errorNode := root.Elements[s_json_error];
|
||||||
|
Check(Assigned(errorNode),'Error');
|
||||||
|
Check(errorNode.JSONType() = jtObject);
|
||||||
|
errorNodeObj := errorNode as TJSONObject;
|
||||||
|
Check(errorNodeObj.IndexOfName(s_json_code) >= 0, s_json_code);
|
||||||
|
Check(errorNodeObj.IndexOfName(s_json_message) >= 0, s_json_message);
|
||||||
|
excpt_code := errorNodeObj.Elements[s_json_code].AsString;
|
||||||
|
excpt_msg := errorNodeObj.Elements[s_json_message].AsString;
|
||||||
|
CheckEquals(VAL_CODE,excpt_code,'faultCode');
|
||||||
|
CheckEquals(VAL_MSG,excpt_msg,'faultString');
|
||||||
|
finally
|
||||||
|
locParser.Free();
|
||||||
|
FreeAndNil(strm);
|
||||||
|
root.Free();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTest_JsonRpcFormatterExceptionBlock.ExceptBlock_client();
|
||||||
|
const
|
||||||
|
VAL_CODE = '1210'; VAL_MSG = 'This is a sample exception message.';
|
||||||
|
VAL_STREAM = '{ "result" : null, "error" : { "code" : ' + VAL_CODE + ', "message" : "' + VAL_MSG + '" } }';
|
||||||
|
var
|
||||||
|
f : IFormatterClient;
|
||||||
|
strm : TStringStream;
|
||||||
|
excpt_code, excpt_msg : string;
|
||||||
|
begin
|
||||||
|
excpt_code := '';
|
||||||
|
excpt_msg := '';
|
||||||
|
f := CreateFormatterClient();
|
||||||
|
strm := TStringStream.Create(VAL_STREAM);
|
||||||
|
try
|
||||||
|
strm.Position := 0;
|
||||||
|
f.LoadFromStream(strm);
|
||||||
|
try
|
||||||
|
f.BeginCallRead(nil);
|
||||||
|
Check(False,'BeginCallRead() should raise an exception.');
|
||||||
|
except
|
||||||
|
on e : EJsonRpcException do begin
|
||||||
|
excpt_code := e.FaultCode;
|
||||||
|
excpt_msg := e.FaultString;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
CheckEquals(VAL_CODE,excpt_code,'faultCode');
|
||||||
|
CheckEquals(VAL_MSG,excpt_msg,'faultString');
|
||||||
|
finally
|
||||||
|
FreeAndNil(strm);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
RegisterStdTypes();
|
RegisterStdTypes();
|
||||||
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TTestEnum),'TTestEnum').RegisterExternalPropertyName('teOne', '1');
|
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TTestEnum),'TTestEnum').RegisterExternalPropertyName('teOne', '1');
|
||||||
@ -4254,35 +4404,23 @@ initialization
|
|||||||
RegisterAttributeProperty(TypeInfo(TTestSmallRecord),'fieldWord');
|
RegisterAttributeProperty(TypeInfo(TTestSmallRecord),'fieldWord');
|
||||||
RegisterAttributeProperty(TypeInfo(TTestRecord),'fieldWord');
|
RegisterAttributeProperty(TypeInfo(TTestRecord),'fieldWord');
|
||||||
|
|
||||||
|
|
||||||
|
RegisterTest('Support',TTestArray.Suite);
|
||||||
|
RegisterTest('Serializer',TTestSOAPFormatter.Suite);
|
||||||
|
RegisterTest('Serializer',TTestBinaryFormatter.Suite);
|
||||||
|
RegisterTest('Support',TTest_TBaseComplexRemotable.Suite);
|
||||||
|
RegisterTest('Serializer',TTestSOAPFormatterAttributes.Suite);
|
||||||
|
RegisterTest('Serializer',TTestBinaryFormatterAttributes.Suite);
|
||||||
|
|
||||||
|
RegisterTest('Serializer',TTestXmlRpcFormatterAttributes.Suite);
|
||||||
|
RegisterTest('Serializer',TTestXmlRpcFormatter.Suite);
|
||||||
|
RegisterTest('Serializer',TTest_SoapFormatterExceptionBlock.Suite);
|
||||||
|
RegisterTest('Serializer',TTest_XmlRpcFormatterExceptionBlock.Suite);
|
||||||
|
RegisterTest('Serializer',TTest_BinaryFormatterExceptionBlock.Suite);
|
||||||
|
RegisterTest('Serializer',TTest_TStringBufferRemotable.Suite);
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
RegisterTest(TTestArray);
|
RegisterTest('Serializer',TTestJsonRpcFormatter.Suite);
|
||||||
RegisterTest(TTestSOAPFormatter);
|
RegisterTest('Serializer',TTest_JsonRpcFormatterExceptionBlock.Suite);
|
||||||
RegisterTest(TTestBinaryFormatter);
|
|
||||||
RegisterTest(TTest_TBaseComplexRemotable);
|
|
||||||
RegisterTest(TTestSOAPFormatterAttributes);
|
|
||||||
RegisterTest(TTestBinaryFormatterAttributes);
|
|
||||||
|
|
||||||
RegisterTest(TTestXmlRpcFormatterAttributes);
|
|
||||||
RegisterTest(TTestXmlRpcFormatter);
|
|
||||||
RegisterTest(TTest_SoapFormatterExceptionBlock);
|
|
||||||
RegisterTest(TTest_XmlRpcFormatterExceptionBlock);
|
|
||||||
RegisterTest(TTest_BinaryFormatterExceptionBlock);
|
|
||||||
RegisterTest(TTest_TStringBufferRemotable);
|
|
||||||
{$ELSE}
|
|
||||||
RegisterTest(TTestArray.Suite);
|
|
||||||
RegisterTest(TTestSOAPFormatter.Suite);
|
|
||||||
RegisterTest(TTestBinaryFormatter.Suite);
|
|
||||||
RegisterTest(TTest_TBaseComplexRemotable.Suite);
|
|
||||||
RegisterTest(TTestSOAPFormatterAttributes.Suite);
|
|
||||||
RegisterTest(TTestBinaryFormatterAttributes.Suite);
|
|
||||||
|
|
||||||
RegisterTest(TTestXmlRpcFormatterAttributes.Suite);
|
|
||||||
RegisterTest(TTestXmlRpcFormatter.Suite);
|
|
||||||
RegisterTest(TTest_SoapFormatterExceptionBlock.Suite);
|
|
||||||
RegisterTest(TTest_XmlRpcFormatterExceptionBlock.Suite);
|
|
||||||
RegisterTest(TTest_BinaryFormatterExceptionBlock.Suite);
|
|
||||||
RegisterTest(TTest_TStringBufferRemotable.Suite);
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<IconPath Value="./"/>
|
<IconPath Value="./"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
<ActiveEditorIndexAtStart Value="12"/>
|
<ActiveEditorIndexAtStart Value="6"/>
|
||||||
</General>
|
</General>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<PackageName Value="FPCUnitTestRunner"/>
|
<PackageName Value="FPCUnitTestRunner"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units Count="53">
|
<Units Count="47">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="wst_test_suite.lpr"/>
|
<Filename Value="wst_test_suite.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
@ -40,12 +40,12 @@
|
|||||||
<Filename Value="testformatter_unit.pas"/>
|
<Filename Value="testformatter_unit.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="testformatter_unit"/>
|
<UnitName Value="testformatter_unit"/>
|
||||||
<CursorPos X="27" Y="1293"/>
|
<CursorPos X="17" Y="3717"/>
|
||||||
<TopLine Value="1291"/>
|
<TopLine Value="3715"/>
|
||||||
<EditorIndex Value="0"/>
|
<EditorIndex Value="0"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Bookmarks Count="1">
|
<Bookmarks Count="1">
|
||||||
<Item0 X="17" Y="1099" ID="3"/>
|
<Item0 X="17" Y="1128" ID="3"/>
|
||||||
</Bookmarks>
|
</Bookmarks>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
@ -53,16 +53,18 @@
|
|||||||
<Filename Value="..\..\server_service_soap.pas"/>
|
<Filename Value="..\..\server_service_soap.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="server_service_soap"/>
|
<UnitName Value="server_service_soap"/>
|
||||||
<CursorPos X="8" Y="182"/>
|
<CursorPos X="3" Y="83"/>
|
||||||
<TopLine Value="161"/>
|
<TopLine Value="81"/>
|
||||||
|
<EditorIndex Value="2"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
</Unit2>
|
</Unit2>
|
||||||
<Unit3>
|
<Unit3>
|
||||||
<Filename Value="..\..\soap_formatter.pas"/>
|
<Filename Value="..\..\soap_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="soap_formatter"/>
|
<UnitName Value="soap_formatter"/>
|
||||||
<CursorPos X="41" Y="31"/>
|
<CursorPos X="1" Y="260"/>
|
||||||
<TopLine Value="17"/>
|
<TopLine Value="246"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
@ -71,21 +73,23 @@
|
|||||||
<Filename Value="..\..\base_binary_formatter.pas"/>
|
<Filename Value="..\..\base_binary_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="base_binary_formatter"/>
|
<UnitName Value="base_binary_formatter"/>
|
||||||
<CursorPos X="46" Y="1584"/>
|
<CursorPos X="24" Y="27"/>
|
||||||
<TopLine Value="1579"/>
|
<TopLine Value="7"/>
|
||||||
|
<EditorIndex Value="10"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
</Unit4>
|
</Unit4>
|
||||||
<Unit5>
|
<Unit5>
|
||||||
<Filename Value="..\..\base_service_intf.pas"/>
|
<Filename Value="..\..\base_service_intf.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="base_service_intf"/>
|
<UnitName Value="base_service_intf"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="4086"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="4072"/>
|
||||||
<EditorIndex Value="10"/>
|
<EditorIndex Value="13"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Bookmarks Count="2">
|
<Bookmarks Count="2">
|
||||||
<Item0 X="33" Y="1156" ID="0"/>
|
<Item0 X="33" Y="1201" ID="0"/>
|
||||||
<Item1 X="5" Y="1210" ID="1"/>
|
<Item1 X="5" Y="1255" ID="1"/>
|
||||||
</Bookmarks>
|
</Bookmarks>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit5>
|
</Unit5>
|
||||||
@ -93,9 +97,9 @@
|
|||||||
<Filename Value="..\..\base_soap_formatter.pas"/>
|
<Filename Value="..\..\base_soap_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="base_soap_formatter"/>
|
<UnitName Value="base_soap_formatter"/>
|
||||||
<CursorPos X="20" Y="1658"/>
|
<CursorPos X="3" Y="37"/>
|
||||||
<TopLine Value="1649"/>
|
<TopLine Value="23"/>
|
||||||
<EditorIndex Value="2"/>
|
<EditorIndex Value="7"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit6>
|
</Unit6>
|
||||||
@ -103,9 +107,9 @@
|
|||||||
<Filename Value="..\..\binary_formatter.pas"/>
|
<Filename Value="..\..\binary_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="binary_formatter"/>
|
<UnitName Value="binary_formatter"/>
|
||||||
<CursorPos X="35" Y="33"/>
|
<CursorPos X="9" Y="177"/>
|
||||||
<TopLine Value="14"/>
|
<TopLine Value="169"/>
|
||||||
<EditorIndex Value="4"/>
|
<EditorIndex Value="9"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit7>
|
</Unit7>
|
||||||
@ -113,20 +117,19 @@
|
|||||||
<Filename Value="..\..\binary_streamer.pas"/>
|
<Filename Value="..\..\binary_streamer.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="binary_streamer"/>
|
<UnitName Value="binary_streamer"/>
|
||||||
<CursorPos X="95" Y="90"/>
|
<CursorPos X="1" Y="14"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Bookmarks Count="1">
|
|
||||||
<Item0 X="38" Y="487" ID="2"/>
|
|
||||||
</Bookmarks>
|
|
||||||
</Unit8>
|
</Unit8>
|
||||||
<Unit9>
|
<Unit9>
|
||||||
<Filename Value="..\..\server_binary_formatter.pas"/>
|
<Filename Value="..\..\server_binary_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="server_binary_formatter"/>
|
<UnitName Value="server_binary_formatter"/>
|
||||||
<CursorPos X="9" Y="123"/>
|
<CursorPos X="1" Y="24"/>
|
||||||
<TopLine Value="27"/>
|
<TopLine Value="12"/>
|
||||||
|
<EditorIndex Value="3"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
</Unit9>
|
</Unit9>
|
||||||
<Unit10>
|
<Unit10>
|
||||||
<Filename Value="..\..\metadata_repository.pas"/>
|
<Filename Value="..\..\metadata_repository.pas"/>
|
||||||
@ -158,12 +161,10 @@
|
|||||||
<UnitName Value="parserdefs"/>
|
<UnitName Value="parserdefs"/>
|
||||||
<CursorPos X="1" Y="1024"/>
|
<CursorPos X="1" Y="1024"/>
|
||||||
<TopLine Value="1010"/>
|
<TopLine Value="1010"/>
|
||||||
<EditorIndex Value="5"/>
|
|
||||||
<UsageCount Value="202"/>
|
<UsageCount Value="202"/>
|
||||||
<Bookmarks Count="1">
|
<Bookmarks Count="1">
|
||||||
<Item0 X="18" Y="1133" ID="2"/>
|
<Item0 X="18" Y="1133" ID="2"/>
|
||||||
</Bookmarks>
|
</Bookmarks>
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit13>
|
</Unit13>
|
||||||
<Unit14>
|
<Unit14>
|
||||||
<Filename Value="..\..\metadata_wsdl.pas"/>
|
<Filename Value="..\..\metadata_wsdl.pas"/>
|
||||||
@ -182,309 +183,323 @@
|
|||||||
<UsageCount Value="203"/>
|
<UsageCount Value="203"/>
|
||||||
</Unit15>
|
</Unit15>
|
||||||
<Unit16>
|
<Unit16>
|
||||||
<Filename Value="..\..\service_intf.pas"/>
|
|
||||||
<UnitName Value="service_intf"/>
|
|
||||||
<CursorPos X="1" Y="1"/>
|
|
||||||
<TopLine Value="1"/>
|
|
||||||
<UsageCount Value="7"/>
|
|
||||||
</Unit16>
|
|
||||||
<Unit17>
|
|
||||||
<Filename Value="test_parserdef.pas"/>
|
<Filename Value="test_parserdef.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="test_parserdef"/>
|
<UnitName Value="test_parserdef"/>
|
||||||
<CursorPos X="93" Y="76"/>
|
<CursorPos X="93" Y="76"/>
|
||||||
<TopLine Value="11"/>
|
<TopLine Value="11"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
</Unit17>
|
</Unit16>
|
||||||
<Unit18>
|
<Unit17>
|
||||||
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
|
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="base_xmlrpc_formatter"/>
|
<UnitName Value="base_xmlrpc_formatter"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="14" Y="1589"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1587"/>
|
||||||
|
<EditorIndex Value="5"/>
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
</Unit18>
|
<Loaded Value="True"/>
|
||||||
<Unit19>
|
</Unit17>
|
||||||
|
<Unit18>
|
||||||
<Filename Value="..\..\ws_helper\pascal_parser_intf.pas"/>
|
<Filename Value="..\..\ws_helper\pascal_parser_intf.pas"/>
|
||||||
<UnitName Value="pascal_parser_intf"/>
|
<UnitName Value="pascal_parser_intf"/>
|
||||||
<CursorPos X="3" Y="174"/>
|
<CursorPos X="62" Y="217"/>
|
||||||
<TopLine Value="165"/>
|
<TopLine Value="200"/>
|
||||||
<UsageCount Value="59"/>
|
<EditorIndex Value="14"/>
|
||||||
</Unit19>
|
<UsageCount Value="98"/>
|
||||||
<Unit20>
|
<Loaded Value="True"/>
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-xml\src\dom.pp"/>
|
</Unit18>
|
||||||
<UnitName Value="DOM"/>
|
<Unit19>
|
||||||
<CursorPos X="38" Y="225"/>
|
|
||||||
<TopLine Value="203"/>
|
|
||||||
<UsageCount Value="6"/>
|
|
||||||
</Unit20>
|
|
||||||
<Unit21>
|
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
|
||||||
<UnitName Value="contnrs"/>
|
|
||||||
<CursorPos X="3" Y="1376"/>
|
|
||||||
<TopLine Value="1370"/>
|
|
||||||
<UsageCount Value="6"/>
|
|
||||||
</Unit21>
|
|
||||||
<Unit22>
|
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
|
||||||
<CursorPos X="8" Y="142"/>
|
|
||||||
<TopLine Value="197"/>
|
|
||||||
<UsageCount Value="6"/>
|
|
||||||
</Unit22>
|
|
||||||
<Unit23>
|
|
||||||
<Filename Value="..\..\wst_fpc_xml.pas"/>
|
<Filename Value="..\..\wst_fpc_xml.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="wst_fpc_xml"/>
|
<UnitName Value="wst_fpc_xml"/>
|
||||||
<CursorPos X="65" Y="85"/>
|
<CursorPos X="65" Y="85"/>
|
||||||
<TopLine Value="56"/>
|
<TopLine Value="56"/>
|
||||||
<UsageCount Value="201"/>
|
<UsageCount Value="201"/>
|
||||||
</Unit23>
|
</Unit19>
|
||||||
<Unit24>
|
<Unit20>
|
||||||
<Filename Value="test_utilities.pas"/>
|
<Filename Value="test_utilities.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="test_utilities"/>
|
<UnitName Value="test_utilities"/>
|
||||||
<CursorPos X="59" Y="740"/>
|
<CursorPos X="59" Y="740"/>
|
||||||
<TopLine Value="714"/>
|
<TopLine Value="711"/>
|
||||||
<EditorIndex Value="11"/>
|
<EditorIndex Value="15"/>
|
||||||
<UsageCount Value="207"/>
|
<UsageCount Value="207"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit24>
|
</Unit20>
|
||||||
<Unit25>
|
<Unit21>
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
|
|
||||||
<CursorPos X="21" Y="9"/>
|
|
||||||
<TopLine Value="1"/>
|
|
||||||
<UsageCount Value="2"/>
|
|
||||||
</Unit25>
|
|
||||||
<Unit26>
|
|
||||||
<Filename Value="..\..\server_service_xmlrpc.pas"/>
|
<Filename Value="..\..\server_service_xmlrpc.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="server_service_xmlrpc"/>
|
<UnitName Value="server_service_xmlrpc"/>
|
||||||
<CursorPos X="38" Y="33"/>
|
<CursorPos X="38" Y="33"/>
|
||||||
<TopLine Value="27"/>
|
<TopLine Value="27"/>
|
||||||
<UsageCount Value="214"/>
|
<UsageCount Value="214"/>
|
||||||
</Unit26>
|
</Unit21>
|
||||||
<Unit27>
|
<Unit22>
|
||||||
<Filename Value="test_parsers.pas"/>
|
<Filename Value="test_parsers.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="test_parsers"/>
|
<UnitName Value="test_parsers"/>
|
||||||
<CursorPos X="50" Y="24"/>
|
<CursorPos X="33" Y="1106"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="1106"/>
|
||||||
<EditorIndex Value="7"/>
|
|
||||||
<UsageCount Value="200"/>
|
<UsageCount Value="200"/>
|
||||||
<Loaded Value="True"/>
|
</Unit22>
|
||||||
</Unit27>
|
<Unit23>
|
||||||
<Unit28>
|
|
||||||
<Filename Value="..\..\ws_helper\xsd_parser.pas"/>
|
<Filename Value="..\..\ws_helper\xsd_parser.pas"/>
|
||||||
<UnitName Value="xsd_parser"/>
|
<UnitName Value="xsd_parser"/>
|
||||||
<CursorPos X="17" Y="190"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="188"/>
|
<TopLine Value="1"/>
|
||||||
<UsageCount Value="35"/>
|
<UsageCount Value="58"/>
|
||||||
</Unit28>
|
</Unit23>
|
||||||
<Unit29>
|
<Unit24>
|
||||||
<Filename Value="..\..\ws_helper\parserutils.pas"/>
|
<Filename Value="..\..\ws_helper\parserutils.pas"/>
|
||||||
<UnitName Value="parserutils"/>
|
<UnitName Value="parserutils"/>
|
||||||
<CursorPos X="98" Y="94"/>
|
<CursorPos X="98" Y="94"/>
|
||||||
<TopLine Value="71"/>
|
<TopLine Value="71"/>
|
||||||
<UsageCount Value="27"/>
|
<UsageCount Value="20"/>
|
||||||
</Unit29>
|
</Unit24>
|
||||||
<Unit30>
|
<Unit25>
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\testregistry.pp"/>
|
|
||||||
<UnitName Value="testregistry"/>
|
|
||||||
<CursorPos X="1" Y="1"/>
|
|
||||||
<TopLine Value="18"/>
|
|
||||||
<UsageCount Value="2"/>
|
|
||||||
</Unit30>
|
|
||||||
<Unit31>
|
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
|
|
||||||
<UnitName Value="fpcunit"/>
|
|
||||||
<CursorPos X="33" Y="438"/>
|
|
||||||
<TopLine Value="431"/>
|
|
||||||
<UsageCount Value="5"/>
|
|
||||||
</Unit31>
|
|
||||||
<Unit32>
|
|
||||||
<Filename Value="..\..\ws_helper\ws_parser_imp.pas"/>
|
<Filename Value="..\..\ws_helper\ws_parser_imp.pas"/>
|
||||||
<UnitName Value="ws_parser_imp"/>
|
<UnitName Value="ws_parser_imp"/>
|
||||||
<CursorPos X="14" Y="91"/>
|
<CursorPos X="71" Y="386"/>
|
||||||
<TopLine Value="77"/>
|
<TopLine Value="363"/>
|
||||||
<UsageCount Value="34"/>
|
<UsageCount Value="57"/>
|
||||||
</Unit32>
|
</Unit25>
|
||||||
<Unit33>
|
<Unit26>
|
||||||
<Filename Value="..\..\ws_helper\wsdl_generator.pas"/>
|
<Filename Value="..\..\ws_helper\wsdl_generator.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="wsdl_generator"/>
|
<UnitName Value="wsdl_generator"/>
|
||||||
<CursorPos X="27" Y="146"/>
|
<CursorPos X="27" Y="146"/>
|
||||||
<TopLine Value="124"/>
|
<TopLine Value="124"/>
|
||||||
<UsageCount Value="219"/>
|
<UsageCount Value="219"/>
|
||||||
</Unit33>
|
</Unit26>
|
||||||
<Unit34>
|
<Unit27>
|
||||||
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
|
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="xsd_generator"/>
|
<UnitName Value="xsd_generator"/>
|
||||||
<CursorPos X="3" Y="81"/>
|
<CursorPos X="3" Y="81"/>
|
||||||
<TopLine Value="261"/>
|
<TopLine Value="261"/>
|
||||||
<EditorIndex Value="6"/>
|
|
||||||
<UsageCount Value="202"/>
|
<UsageCount Value="202"/>
|
||||||
<Loaded Value="True"/>
|
</Unit27>
|
||||||
</Unit34>
|
<Unit28>
|
||||||
<Unit35>
|
|
||||||
<Filename Value="..\..\ws_helper\xsd_consts.pas"/>
|
<Filename Value="..\..\ws_helper\xsd_consts.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="xsd_consts"/>
|
<UnitName Value="xsd_consts"/>
|
||||||
<CursorPos X="8" Y="78"/>
|
<CursorPos X="8" Y="78"/>
|
||||||
<TopLine Value="51"/>
|
<TopLine Value="51"/>
|
||||||
<UsageCount Value="201"/>
|
<UsageCount Value="201"/>
|
||||||
</Unit35>
|
</Unit28>
|
||||||
<Unit36>
|
<Unit29>
|
||||||
<Filename Value="..\..\ws_helper\wsdl_parser.pas"/>
|
<Filename Value="..\..\ws_helper\wsdl_parser.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="wsdl_parser"/>
|
<UnitName Value="wsdl_parser"/>
|
||||||
<CursorPos X="28" Y="845"/>
|
<CursorPos X="49" Y="21"/>
|
||||||
<TopLine Value="835"/>
|
<TopLine Value="1"/>
|
||||||
<UsageCount Value="135"/>
|
<UsageCount Value="200"/>
|
||||||
</Unit36>
|
</Unit29>
|
||||||
<Unit37>
|
<Unit30>
|
||||||
<Filename Value="..\..\base_json_formatter.pas"/>
|
<Filename Value="..\..\base_json_formatter.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="base_json_formatter"/>
|
<UnitName Value="base_json_formatter"/>
|
||||||
<CursorPos X="7" Y="383"/>
|
<CursorPos X="22" Y="23"/>
|
||||||
<TopLine Value="367"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="8"/>
|
<EditorIndex Value="11"/>
|
||||||
<UsageCount Value="188"/>
|
<UsageCount Value="237"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit37>
|
</Unit30>
|
||||||
<Unit38>
|
<Unit31>
|
||||||
<Filename Value="..\..\fcl-json\src\fpjson.pp"/>
|
<Filename Value="..\..\fcl-json\src\fpjson.pp"/>
|
||||||
<UnitName Value="fpjson"/>
|
<UnitName Value="fpjson"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="1" Y="1"/>
|
||||||
<TopLine Value="330"/>
|
<TopLine Value="330"/>
|
||||||
<UsageCount Value="42"/>
|
<UsageCount Value="35"/>
|
||||||
</Unit38>
|
</Unit31>
|
||||||
<Unit39>
|
<Unit32>
|
||||||
<Filename Value="..\..\wst_types.pas"/>
|
|
||||||
<UnitName Value="wst_types"/>
|
|
||||||
<CursorPos X="1" Y="1"/>
|
|
||||||
<TopLine Value="13"/>
|
|
||||||
<UsageCount Value="6"/>
|
|
||||||
</Unit39>
|
|
||||||
<Unit40>
|
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\systemh.inc"/>
|
|
||||||
<CursorPos X="3" Y="389"/>
|
|
||||||
<TopLine Value="375"/>
|
|
||||||
<UsageCount Value="6"/>
|
|
||||||
</Unit40>
|
|
||||||
<Unit41>
|
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlwrite.pp"/>
|
|
||||||
<UnitName Value="XMLWrite"/>
|
|
||||||
<CursorPos X="9" Y="609"/>
|
|
||||||
<TopLine Value="586"/>
|
|
||||||
<UsageCount Value="6"/>
|
|
||||||
</Unit41>
|
|
||||||
<Unit42>
|
|
||||||
<Filename Value="..\..\library_imp_utils.pas"/>
|
<Filename Value="..\..\library_imp_utils.pas"/>
|
||||||
<UnitName Value="library_imp_utils"/>
|
<UnitName Value="library_imp_utils"/>
|
||||||
<CursorPos X="82" Y="43"/>
|
<CursorPos X="92" Y="21"/>
|
||||||
<TopLine Value="19"/>
|
<TopLine Value="1"/>
|
||||||
<EditorIndex Value="13"/>
|
<EditorIndex Value="17"/>
|
||||||
<UsageCount Value="67"/>
|
<UsageCount Value="100"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit42>
|
</Unit32>
|
||||||
<Unit43>
|
<Unit33>
|
||||||
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-xml\src\dom.pp"/>
|
|
||||||
<UnitName Value="DOM"/>
|
|
||||||
<CursorPos X="22" Y="351"/>
|
|
||||||
<TopLine Value="336"/>
|
|
||||||
<UsageCount Value="1"/>
|
|
||||||
</Unit43>
|
|
||||||
<Unit44>
|
|
||||||
<Filename Value="test_support.pas"/>
|
<Filename Value="test_support.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="test_support"/>
|
<UnitName Value="test_support"/>
|
||||||
<CursorPos X="1" Y="1"/>
|
<CursorPos X="3" Y="109"/>
|
||||||
<TopLine Value="1"/>
|
<TopLine Value="95"/>
|
||||||
<EditorIndex Value="12"/>
|
<EditorIndex Value="16"/>
|
||||||
<UsageCount Value="107"/>
|
<UsageCount Value="188"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit44>
|
</Unit33>
|
||||||
<Unit45>
|
<Unit34>
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\testutils.pp"/>
|
|
||||||
<UnitName Value="testutils"/>
|
|
||||||
<CursorPos X="1" Y="1"/>
|
|
||||||
<TopLine Value="14"/>
|
|
||||||
<UsageCount Value="3"/>
|
|
||||||
</Unit45>
|
|
||||||
<Unit46>
|
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
|
|
||||||
<CursorPos X="21" Y="9"/>
|
|
||||||
<TopLine Value="1"/>
|
|
||||||
<UsageCount Value="3"/>
|
|
||||||
</Unit46>
|
|
||||||
<Unit47>
|
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
|
||||||
<UnitName Value="fpcunit"/>
|
<UnitName Value="fpcunit"/>
|
||||||
<CursorPos X="1" Y="446"/>
|
<CursorPos X="1" Y="446"/>
|
||||||
<TopLine Value="432"/>
|
<TopLine Value="432"/>
|
||||||
<UsageCount Value="7"/>
|
<UsageCount Value="9"/>
|
||||||
</Unit47>
|
</Unit34>
|
||||||
<Unit48>
|
<Unit35>
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\math.pp"/>
|
|
||||||
<UnitName Value="math"/>
|
|
||||||
<CursorPos X="1" Y="1"/>
|
|
||||||
<TopLine Value="59"/>
|
|
||||||
<UsageCount Value="3"/>
|
|
||||||
</Unit48>
|
|
||||||
<Unit49>
|
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\typinfo.pp"/>
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\typinfo.pp"/>
|
||||||
<UnitName Value="typinfo"/>
|
<UnitName Value="typinfo"/>
|
||||||
<CursorPos X="19" Y="270"/>
|
<CursorPos X="20" Y="38"/>
|
||||||
<TopLine Value="256"/>
|
<TopLine Value="24"/>
|
||||||
<UsageCount Value="8"/>
|
<UsageCount Value="8"/>
|
||||||
</Unit49>
|
</Unit35>
|
||||||
<Unit50>
|
<Unit36>
|
||||||
<Filename Value="..\..\xmlrpc_formatter.pas"/>
|
<Filename Value="..\..\xmlrpc_formatter.pas"/>
|
||||||
<UnitName Value="xmlrpc_formatter"/>
|
<UnitName Value="xmlrpc_formatter"/>
|
||||||
<CursorPos X="1" Y="169"/>
|
<CursorPos X="1" Y="169"/>
|
||||||
<TopLine Value="155"/>
|
<TopLine Value="155"/>
|
||||||
<EditorIndex Value="3"/>
|
<EditorIndex Value="8"/>
|
||||||
<UsageCount Value="30"/>
|
<UsageCount Value="70"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit50>
|
</Unit36>
|
||||||
<Unit51>
|
<Unit37>
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\classes\classesh.inc"/>
|
|
||||||
<CursorPos X="15" Y="344"/>
|
|
||||||
<TopLine Value="330"/>
|
|
||||||
<UsageCount Value="7"/>
|
|
||||||
</Unit51>
|
|
||||||
<Unit52>
|
|
||||||
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-json\src\fpjson.pp"/>
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-json\src\fpjson.pp"/>
|
||||||
<UnitName Value="fpjson"/>
|
<UnitName Value="fpjson"/>
|
||||||
<CursorPos X="3" Y="265"/>
|
<CursorPos X="17" Y="312"/>
|
||||||
<TopLine Value="320"/>
|
<TopLine Value="317"/>
|
||||||
<EditorIndex Value="9"/>
|
<EditorIndex Value="12"/>
|
||||||
<UsageCount Value="29"/>
|
<UsageCount Value="69"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit52>
|
</Unit37>
|
||||||
|
<Unit38>
|
||||||
|
<Filename Value="..\..\basex_encode.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="basex_encode"/>
|
||||||
|
<CursorPos X="45" Y="1"/>
|
||||||
|
<TopLine Value="1"/>
|
||||||
|
<UsageCount Value="101"/>
|
||||||
|
</Unit38>
|
||||||
|
<Unit39>
|
||||||
|
<Filename Value="test_basex_encode.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="test_basex_encode"/>
|
||||||
|
<CursorPos X="1" Y="1"/>
|
||||||
|
<TopLine Value="1"/>
|
||||||
|
<UsageCount Value="101"/>
|
||||||
|
</Unit39>
|
||||||
|
<Unit40>
|
||||||
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-json\src\jsonparser.pp"/>
|
||||||
|
<UnitName Value="jsonparser"/>
|
||||||
|
<CursorPos X="35" Y="22"/>
|
||||||
|
<TopLine Value="6"/>
|
||||||
|
<UsageCount Value="15"/>
|
||||||
|
</Unit40>
|
||||||
|
<Unit41>
|
||||||
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\testregistry.pp"/>
|
||||||
|
<UnitName Value="testregistry"/>
|
||||||
|
<CursorPos X="11" Y="32"/>
|
||||||
|
<TopLine Value="24"/>
|
||||||
|
<UsageCount Value="8"/>
|
||||||
|
</Unit41>
|
||||||
|
<Unit42>
|
||||||
|
<Filename Value="..\..\wst_global.inc"/>
|
||||||
|
<CursorPos X="22" Y="17"/>
|
||||||
|
<TopLine Value="1"/>
|
||||||
|
<UsageCount Value="8"/>
|
||||||
|
</Unit42>
|
||||||
|
<Unit43>
|
||||||
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
||||||
|
<UnitName Value="contnrs"/>
|
||||||
|
<CursorPos X="3" Y="1403"/>
|
||||||
|
<TopLine Value="1398"/>
|
||||||
|
<UsageCount Value="9"/>
|
||||||
|
</Unit43>
|
||||||
|
<Unit44>
|
||||||
|
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-json\src\jsonscanner.pp"/>
|
||||||
|
<UnitName Value="jsonscanner"/>
|
||||||
|
<CursorPos X="11" Y="258"/>
|
||||||
|
<TopLine Value="210"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
</Unit44>
|
||||||
|
<Unit45>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="json_formatter"/>
|
||||||
|
<CursorPos X="3" Y="66"/>
|
||||||
|
<TopLine Value="43"/>
|
||||||
|
<EditorIndex Value="6"/>
|
||||||
|
<UsageCount Value="34"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit45>
|
||||||
|
<Unit46>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="server_service_json"/>
|
||||||
|
<CursorPos X="60" Y="54"/>
|
||||||
|
<TopLine Value="40"/>
|
||||||
|
<EditorIndex Value="4"/>
|
||||||
|
<UsageCount Value="30"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit46>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="5" HistoryIndex="4">
|
<JumpHistory Count="16" HistoryIndex="15">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="test_support.pas"/>
|
<Filename Value="..\..\server_binary_formatter.pas"/>
|
||||||
<Caret Line="927" Column="13" TopLine="908"/>
|
<Caret Line="135" Column="45" TopLine="113"/>
|
||||||
</Position1>
|
</Position1>
|
||||||
<Position2>
|
<Position2>
|
||||||
<Filename Value="test_support.pas"/>
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
<Caret Line="2149" Column="5" TopLine="2117"/>
|
<Caret Line="52" Column="3" TopLine="50"/>
|
||||||
</Position2>
|
</Position2>
|
||||||
<Position3>
|
<Position3>
|
||||||
<Filename Value="test_support.pas"/>
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
<Caret Line="2156" Column="27" TopLine="2146"/>
|
<Caret Line="56" Column="49" TopLine="45"/>
|
||||||
</Position3>
|
</Position3>
|
||||||
<Position4>
|
<Position4>
|
||||||
<Filename Value="..\..\base_service_intf.pas"/>
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
<Caret Line="4591" Column="12" TopLine="4577"/>
|
<Caret Line="57" Column="46" TopLine="36"/>
|
||||||
</Position4>
|
</Position4>
|
||||||
<Position5>
|
<Position5>
|
||||||
<Filename Value="test_support.pas"/>
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
<Caret Line="2111" Column="1" TopLine="2104"/>
|
<Caret Line="21" Column="16" TopLine="4"/>
|
||||||
</Position5>
|
</Position5>
|
||||||
|
<Position6>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<Caret Line="165" Column="6" TopLine="151"/>
|
||||||
|
</Position6>
|
||||||
|
<Position7>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<Caret Line="166" Column="11" TopLine="145"/>
|
||||||
|
</Position7>
|
||||||
|
<Position8>
|
||||||
|
<Filename Value="..\..\binary_formatter.pas"/>
|
||||||
|
<Caret Line="177" Column="9" TopLine="169"/>
|
||||||
|
</Position8>
|
||||||
|
<Position9>
|
||||||
|
<Filename Value="testformatter_unit.pas"/>
|
||||||
|
<Caret Line="3717" Column="17" TopLine="3715"/>
|
||||||
|
</Position9>
|
||||||
|
<Position10>
|
||||||
|
<Filename Value="..\..\soap_formatter.pas"/>
|
||||||
|
<Caret Line="240" Column="8" TopLine="223"/>
|
||||||
|
</Position10>
|
||||||
|
<Position11>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<Caret Line="29" Column="35" TopLine="7"/>
|
||||||
|
</Position11>
|
||||||
|
<Position12>
|
||||||
|
<Filename Value="..\..\server_service_json.pas"/>
|
||||||
|
<Caret Line="21" Column="16" TopLine="4"/>
|
||||||
|
</Position12>
|
||||||
|
<Position13>
|
||||||
|
<Filename Value="..\..\soap_formatter.pas"/>
|
||||||
|
<Caret Line="271" Column="14" TopLine="246"/>
|
||||||
|
</Position13>
|
||||||
|
<Position14>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<Caret Line="170" Column="11" TopLine="157"/>
|
||||||
|
</Position14>
|
||||||
|
<Position15>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<Caret Line="194" Column="48" TopLine="174"/>
|
||||||
|
</Position15>
|
||||||
|
<Position16>
|
||||||
|
<Filename Value="..\..\json_formatter.pas"/>
|
||||||
|
<Caret Line="189" Column="34" TopLine="174"/>
|
||||||
|
</Position16>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
|
@ -17,7 +17,8 @@ uses
|
|||||||
metadata_generator, parserdefs, server_service_intf, metadata_wsdl,
|
metadata_generator, parserdefs, server_service_intf, metadata_wsdl,
|
||||||
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities,
|
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities,
|
||||||
server_service_xmlrpc, test_parsers, wsdl_generator, xsd_generator,
|
server_service_xmlrpc, test_parsers, wsdl_generator, xsd_generator,
|
||||||
xsd_consts, base_json_formatter, wsdl_parser, test_support;
|
xsd_consts, base_json_formatter, wsdl_parser, test_support, basex_encode,
|
||||||
|
test_basex_encode, json_formatter, server_service_json;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
ShortOpts = 'alh';
|
ShortOpts = 'alh';
|
||||||
|
@ -155,6 +155,7 @@ var
|
|||||||
sym : TPasElement;
|
sym : TPasElement;
|
||||||
modulList, decList : TList;
|
modulList, decList : TList;
|
||||||
mdl : TPasModule;
|
mdl : TPasModule;
|
||||||
|
ok : Boolean;
|
||||||
begin
|
begin
|
||||||
modulList := AContainer.Package.Modules;
|
modulList := AContainer.Package.Modules;
|
||||||
for i := 0 to Pred(modulList.Count) do begin
|
for i := 0 to Pred(modulList.Count) do begin
|
||||||
@ -174,7 +175,8 @@ begin
|
|||||||
) and
|
) and
|
||||||
( not sym.InheritsFrom(TPasNativeSimpleType) )
|
( not sym.InheritsFrom(TPasNativeSimpleType) )
|
||||||
then begin
|
then begin
|
||||||
if ( ALs.IndexOfObject(sym) = -1 ) then begin
|
ok := ( not sym.InheritsFrom(TPasNativeClassType) ) or sym.InheritsFrom(TPasNativeSimpleContentClassType);
|
||||||
|
if ok and ( ALs.IndexOfObject(sym) = -1 ) then begin
|
||||||
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -237,6 +239,7 @@ var
|
|||||||
i : Integer;
|
i : Integer;
|
||||||
prp : TPasProperty;
|
prp : TPasProperty;
|
||||||
extName : string;
|
extName : string;
|
||||||
|
ancestorType : TPasElement;
|
||||||
begin
|
begin
|
||||||
edtName.Text := '';
|
edtName.Text := '';
|
||||||
edtProp.Clear();
|
edtProp.Clear();
|
||||||
@ -252,7 +255,17 @@ begin
|
|||||||
end;
|
end;
|
||||||
if Assigned(FObject.AncestorType) then begin
|
if Assigned(FObject.AncestorType) then begin
|
||||||
//edtParent.ItemIndex := edtParent.Items.IndexOfObject(FObject.AncestorType);
|
//edtParent.ItemIndex := edtParent.Items.IndexOfObject(FObject.AncestorType);
|
||||||
edtParent.ItemIndex := edtParent.Items.IndexOfObject(FSymbolTable.FindElement(FSymbolTable.GetExternalName(FObject.AncestorType)));
|
ancestorType := FObject.AncestorType;
|
||||||
|
if ancestorType.InheritsFrom(TPasUnresolvedTypeRef) then begin
|
||||||
|
ancestorType := FSymbolTable.FindElement(FSymbolTable.GetExternalName(ancestorType));
|
||||||
|
end;
|
||||||
|
if Assigned(ancestorType) then begin
|
||||||
|
if ancestorType.InheritsFrom(TPasNativeSimpleType) then
|
||||||
|
ancestorType := TPasNativeSimpleType(ancestorType).ExtendableType
|
||||||
|
else if ancestorType.InheritsFrom(TPasNativeClassType) and Assigned(TPasNativeClassType(ancestorType).ExtendableType) then
|
||||||
|
ancestorType := TPasNativeClassType(ancestorType).ExtendableType;
|
||||||
|
end;
|
||||||
|
edtParent.ItemIndex := edtParent.Items.IndexOfObject(ancestorType);
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
Self.Caption := 'New';
|
Self.Caption := 'New';
|
||||||
@ -277,9 +290,9 @@ begin
|
|||||||
trueParent := GetUltimeType(trueParent);
|
trueParent := GetUltimeType(trueParent);
|
||||||
end;
|
end;
|
||||||
if trueParent.InheritsFrom(TPasNativeSimpleType) and
|
if trueParent.InheritsFrom(TPasNativeSimpleType) and
|
||||||
Assigned(TPasNativeSimpleType(trueParent).BoxedType)
|
Assigned(TPasNativeSimpleType(trueParent).ExtendableType)
|
||||||
then begin
|
then begin
|
||||||
trueParent := TPasNativeSimpleType(trueParent).BoxedType;
|
trueParent := TPasNativeSimpleType(trueParent).ExtendableType;
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
trueParent := nil;
|
trueParent := nil;
|
||||||
|
@ -91,17 +91,17 @@ object fPropEdit: TfPropEdit
|
|||||||
end
|
end
|
||||||
object edtAttribute: TCheckBox
|
object edtAttribute: TCheckBox
|
||||||
Left = 20
|
Left = 20
|
||||||
Height = 13
|
Height = 19
|
||||||
Top = 170
|
Top = 170
|
||||||
Width = 101
|
Width = 107
|
||||||
Caption = 'Attribute Property'
|
Caption = 'Attribute Property'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
object edtOptional: TCheckBox
|
object edtOptional: TCheckBox
|
||||||
Left = 20
|
Left = 20
|
||||||
Height = 13
|
Height = 19
|
||||||
Top = 218
|
Top = 218
|
||||||
Width = 105
|
Width = 111
|
||||||
Caption = 'Optional property'
|
Caption = 'Optional property'
|
||||||
Font.Style = [fsItalic]
|
Font.Style = [fsItalic]
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
|
@ -25,9 +25,9 @@ LazarusResources.Add('TfPropEdit','FORMDATA',[
|
|||||||
+#5'Width'#3#16#1#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbact'
|
+#5'Width'#3#16#1#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbact'
|
||||||
+'SearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'csDro'
|
+'SearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'csDro'
|
||||||
+'pDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribute'#4'Left'#2#20#6
|
+'pDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribute'#4'Left'#2#20#6
|
||||||
+'Height'#2#13#3'Top'#3#170#0#5'Width'#2'e'#7'Caption'#6#18'Attribute Propert'
|
+'Height'#2#19#3'Top'#3#170#0#5'Width'#2'k'#7'Caption'#6#18'Attribute Propert'
|
||||||
+'y'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'#2#20#6'Height'#2
|
+'y'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'#2#20#6'Height'#2
|
||||||
+#13#3'Top'#3#218#0#5'Width'#2'i'#7'Caption'#6#17'Optional property'#10'Font.'
|
+#19#3'Top'#3#218#0#5'Width'#2'o'#7'Caption'#6#17'Optional property'#10'Font.'
|
||||||
+'Style'#11#8'fsItalic'#0#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'ActionLi'
|
+'Style'#11#8'fsItalic'#0#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'ActionLi'
|
||||||
+'st1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'D'
|
+'st1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'D'
|
||||||
+'isableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOK'
|
+'isableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOK'
|
||||||
|
@ -134,6 +134,14 @@ var
|
|||||||
begin
|
begin
|
||||||
edtName.Text := '';
|
edtName.Text := '';
|
||||||
edtType.Clear();
|
edtType.Clear();
|
||||||
|
if Assigned(FClassObject) and
|
||||||
|
FClassObject.InheritsFrom(TPasClassType) and
|
||||||
|
Assigned(TPasClassType(FClassObject).AncestorType) and
|
||||||
|
TPasClassType(FClassObject).AncestorType.InheritsFrom(TPasNativeSimpleContentClassType)
|
||||||
|
then begin
|
||||||
|
edtAttribute.Checked := True;
|
||||||
|
edtAttribute.Enabled := False;
|
||||||
|
end;
|
||||||
edtType.Items.BeginUpdate();
|
edtType.Items.BeginUpdate();
|
||||||
try
|
try
|
||||||
edtType.Items.Clear();
|
edtType.Items.Clear();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||||
Left = 84
|
Left = 166
|
||||||
Height = 644
|
Height = 644
|
||||||
Top = 315
|
Top = 209
|
||||||
Width = 833
|
Width = 833
|
||||||
HorzScrollBar.Page = 832
|
HorzScrollBar.Page = 832
|
||||||
VertScrollBar.Page = 623
|
VertScrollBar.Page = 623
|
||||||
@ -78,9 +78,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
PopupMenu = PopupMenu2
|
PopupMenu = PopupMenu2
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
BookMarkOptions.Xoffset = 81
|
BookMarkOptions.Xoffset = 81
|
||||||
|
BookMarkOptions.OnChange = nil
|
||||||
Gutter.DigitCount = 5
|
Gutter.DigitCount = 5
|
||||||
Gutter.ShowLineNumbers = True
|
Gutter.ShowLineNumbers = True
|
||||||
Gutter.ShowCodeFolding = True
|
Gutter.ShowCodeFolding = True
|
||||||
|
Gutter.OnChange = nil
|
||||||
Gutter.CodeFoldingWidth = 14
|
Gutter.CodeFoldingWidth = 14
|
||||||
Highlighter = SynPasSyn1
|
Highlighter = SynPasSyn1
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
@ -405,12 +407,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
ShortCut = 24642
|
ShortCut = 24642
|
||||||
end>
|
end>
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
|
SelectedColor.OnChange = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tsWSDL: TTabSheet
|
object tsWSDL: TTabSheet
|
||||||
Caption = '&WSDL'
|
Caption = '&WSDL'
|
||||||
ClientHeight = 573
|
|
||||||
ClientWidth = 501
|
|
||||||
object srcWSDL: TSynEdit
|
object srcWSDL: TSynEdit
|
||||||
Height = 573
|
Height = 573
|
||||||
Width = 501
|
Width = 501
|
||||||
@ -424,7 +425,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
PopupMenu = PopupMenu2
|
PopupMenu = PopupMenu2
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
BookMarkOptions.Xoffset = 54
|
BookMarkOptions.Xoffset = 54
|
||||||
|
BookMarkOptions.OnChange = nil
|
||||||
Gutter.ShowLineNumbers = True
|
Gutter.ShowLineNumbers = True
|
||||||
|
Gutter.OnChange = nil
|
||||||
Gutter.CodeFoldingWidth = 14
|
Gutter.CodeFoldingWidth = 14
|
||||||
Highlighter = SynXMLSyn1
|
Highlighter = SynXMLSyn1
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
@ -749,12 +752,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
ShortCut = 24642
|
ShortCut = 24642
|
||||||
end>
|
end>
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
|
SelectedColor.OnChange = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tsProxy: TTabSheet
|
object tsProxy: TTabSheet
|
||||||
Caption = '&Proxy'
|
Caption = '&Proxy'
|
||||||
ClientHeight = 573
|
|
||||||
ClientWidth = 501
|
|
||||||
object srcProxy: TSynEdit
|
object srcProxy: TSynEdit
|
||||||
Height = 573
|
Height = 573
|
||||||
Width = 501
|
Width = 501
|
||||||
@ -768,11 +770,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
PopupMenu = PopupMenu2
|
PopupMenu = PopupMenu2
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
BookMarkOptions.Xoffset = 81
|
BookMarkOptions.Xoffset = 81
|
||||||
BookMarkOptions.OnChange = nil
|
|
||||||
Gutter.DigitCount = 5
|
Gutter.DigitCount = 5
|
||||||
Gutter.ShowLineNumbers = True
|
Gutter.ShowLineNumbers = True
|
||||||
Gutter.ShowCodeFolding = True
|
Gutter.ShowCodeFolding = True
|
||||||
Gutter.OnChange = nil
|
|
||||||
Gutter.CodeFoldingWidth = 14
|
Gutter.CodeFoldingWidth = 14
|
||||||
Highlighter = SynPasSyn1
|
Highlighter = SynPasSyn1
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
@ -1097,13 +1097,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
ShortCut = 24642
|
ShortCut = 24642
|
||||||
end>
|
end>
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
SelectedColor.OnChange = nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tsImp: TTabSheet
|
object tsImp: TTabSheet
|
||||||
Caption = 'Im&plementation Skeleton'
|
Caption = 'Im&plementation Skeleton'
|
||||||
ClientHeight = 573
|
|
||||||
ClientWidth = 501
|
|
||||||
object srcImp: TSynEdit
|
object srcImp: TSynEdit
|
||||||
Height = 573
|
Height = 573
|
||||||
Width = 501
|
Width = 501
|
||||||
@ -1117,11 +1114,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
PopupMenu = PopupMenu2
|
PopupMenu = PopupMenu2
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
BookMarkOptions.Xoffset = 81
|
BookMarkOptions.Xoffset = 81
|
||||||
BookMarkOptions.OnChange = nil
|
|
||||||
Gutter.DigitCount = 5
|
Gutter.DigitCount = 5
|
||||||
Gutter.ShowLineNumbers = True
|
Gutter.ShowLineNumbers = True
|
||||||
Gutter.ShowCodeFolding = True
|
Gutter.ShowCodeFolding = True
|
||||||
Gutter.OnChange = nil
|
|
||||||
Gutter.CodeFoldingWidth = 14
|
Gutter.CodeFoldingWidth = 14
|
||||||
Highlighter = SynPasSyn1
|
Highlighter = SynPasSyn1
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
@ -1446,13 +1441,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
ShortCut = 24642
|
ShortCut = 24642
|
||||||
end>
|
end>
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
SelectedColor.OnChange = nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tsBinder: TTabSheet
|
object tsBinder: TTabSheet
|
||||||
Caption = '&Binder'
|
Caption = '&Binder'
|
||||||
ClientHeight = 573
|
|
||||||
ClientWidth = 501
|
|
||||||
object srcBinder: TSynEdit
|
object srcBinder: TSynEdit
|
||||||
Height = 573
|
Height = 573
|
||||||
Width = 501
|
Width = 501
|
||||||
@ -1466,12 +1458,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
PopupMenu = PopupMenu2
|
PopupMenu = PopupMenu2
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
BookMarkOptions.Xoffset = 81
|
BookMarkOptions.Xoffset = 81
|
||||||
BookMarkOptions.OnChange = nil
|
|
||||||
Gutter.AutoSize = True
|
Gutter.AutoSize = True
|
||||||
Gutter.DigitCount = 5
|
Gutter.DigitCount = 5
|
||||||
Gutter.ShowLineNumbers = True
|
Gutter.ShowLineNumbers = True
|
||||||
Gutter.ShowCodeFolding = True
|
Gutter.ShowCodeFolding = True
|
||||||
Gutter.OnChange = nil
|
|
||||||
Gutter.CodeFoldingWidth = 14
|
Gutter.CodeFoldingWidth = 14
|
||||||
Highlighter = SynPasSyn1
|
Highlighter = SynPasSyn1
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
@ -1796,13 +1786,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
ShortCut = 24642
|
ShortCut = 24642
|
||||||
end>
|
end>
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
SelectedColor.OnChange = nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tsLog: TTabSheet
|
object tsLog: TTabSheet
|
||||||
Caption = '&Log'
|
Caption = '&Log'
|
||||||
ClientHeight = 573
|
|
||||||
ClientWidth = 501
|
|
||||||
object mmoLog: TMemo
|
object mmoLog: TMemo
|
||||||
Height = 573
|
Height = 573
|
||||||
Width = 501
|
Width = 501
|
||||||
@ -1865,6 +1852,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
Action = actRefreshView
|
Action = actRefreshView
|
||||||
OnClick = actRefreshViewExecute
|
OnClick = actRefreshViewExecute
|
||||||
end
|
end
|
||||||
|
object MenuItem50: TMenuItem
|
||||||
|
Action = actSearch
|
||||||
|
OnClick = actSearchExecute
|
||||||
|
end
|
||||||
object MenuItem29: TMenuItem
|
object MenuItem29: TMenuItem
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
@ -1935,6 +1926,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
Caption = 'Exit'
|
Caption = 'Exit'
|
||||||
DisableIfNoHandler = True
|
DisableIfNoHandler = True
|
||||||
OnExecute = actExitExecute
|
OnExecute = actExitExecute
|
||||||
|
ShortCut = 16499
|
||||||
end
|
end
|
||||||
object actExport: TAction
|
object actExport: TAction
|
||||||
Caption = 'Save generated files ...'
|
Caption = 'Save generated files ...'
|
||||||
@ -1968,11 +1960,13 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
Caption = '&Refresh Views'
|
Caption = '&Refresh Views'
|
||||||
DisableIfNoHandler = True
|
DisableIfNoHandler = True
|
||||||
OnExecute = actRefreshViewExecute
|
OnExecute = actRefreshViewExecute
|
||||||
|
ShortCut = 116
|
||||||
end
|
end
|
||||||
object actNewFile: TAction
|
object actNewFile: TAction
|
||||||
Caption = 'New File'
|
Caption = 'New File'
|
||||||
DisableIfNoHandler = True
|
DisableIfNoHandler = True
|
||||||
OnExecute = actNewFileExecute
|
OnExecute = actNewFileExecute
|
||||||
|
ShortCut = 16462
|
||||||
end
|
end
|
||||||
object actCompoundCreate: TAction
|
object actCompoundCreate: TAction
|
||||||
Caption = 'Create Class Type'
|
Caption = 'Create Class Type'
|
||||||
@ -2021,6 +2015,13 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
DisableIfNoHandler = True
|
DisableIfNoHandler = True
|
||||||
OnExecute = actRecordCreateExecute
|
OnExecute = actRecordCreateExecute
|
||||||
end
|
end
|
||||||
|
object actSearch: TAction
|
||||||
|
Caption = 'Search'
|
||||||
|
DisableIfNoHandler = True
|
||||||
|
OnExecute = actSearchExecute
|
||||||
|
OnUpdate = actSearchUpdate
|
||||||
|
ShortCut = 16454
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object OD: TOpenDialog
|
object OD: TOpenDialog
|
||||||
Title = 'Ouvrir un fichier existant'
|
Title = 'Ouvrir un fichier existant'
|
||||||
@ -2113,6 +2114,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
Action = actRefreshView
|
Action = actRefreshView
|
||||||
OnClick = actRefreshViewExecute
|
OnClick = actRefreshViewExecute
|
||||||
end
|
end
|
||||||
|
object MenuItem49: TMenuItem
|
||||||
|
Action = actSearch
|
||||||
|
OnClick = actSearchExecute
|
||||||
|
end
|
||||||
object MenuItem19: TMenuItem
|
object MenuItem19: TMenuItem
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
@ -2157,4 +2162,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
|||||||
left = 466
|
left = 466
|
||||||
top = 252
|
top = 252
|
||||||
end
|
end
|
||||||
|
object FD: TFindDialog
|
||||||
|
Title = 'Search'
|
||||||
|
OnFind = FDFind
|
||||||
|
left = 576
|
||||||
|
top = 143
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||||
|
|
||||||
LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
||||||
'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#2'T'#6'Height'
|
'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#3#166#0#6'Hei'
|
||||||
+#3#132#2#3'Top'#3';'#1#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18'Vert'
|
+'ght'#3#132#2#3'Top'#3#209#0#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18
|
||||||
+'ScrollBar.Page'#3'o'#2#13'ActiveControl'#7#9'trvSchema'#7'Caption'#6'+[Web '
|
+'VertScrollBar.Page'#3'o'#2#13'ActiveControl'#7#9'trvSchema'#7'Caption'#6'+['
|
||||||
+'Services Toolkit ] Type Library Editor'#12'ClientHeight'#3'p'#2#11'ClientWi'
|
+'Web Services Toolkit ] Type Library Editor'#12'ClientHeight'#3'p'#2#11'Clie'
|
||||||
+'dth'#3'A'#3#4'Menu'#7#9'MainMenu1'#7'OnClose'#7#9'FormClose'#6'OnShow'#7#8
|
+'ntWidth'#3'A'#3#4'Menu'#7#9'MainMenu1'#7'OnClose'#7#9'FormClose'#6'OnShow'#7
|
||||||
+'FormShow'#8'Position'#7#15'poDesktopCenter'#0#10'TStatusBar'#2'SB'#6'Height'
|
+#8'FormShow'#8'Position'#7#15'poDesktopCenter'#0#10'TStatusBar'#2'SB'#6'Heig'
|
||||||
+#2#23#3'Top'#3'Y'#2#5'Width'#3'A'#3#6'Panels'#14#1#5'Width'#3','#1#0#1#5'Wid'
|
+'ht'#2#23#3'Top'#3'Y'#2#5'Width'#3'A'#3#6'Panels'#14#1#5'Width'#3','#1#0#1#5
|
||||||
+'th'#2'2'#0#0#11'SimplePanel'#8#0#0#6'TPanel'#6'Panel1'#6'Height'#3'Y'#2#5'W'
|
+'Width'#2'2'#0#0#11'SimplePanel'#8#0#0#6'TPanel'#6'Panel1'#6'Height'#3'Y'#2#5
|
||||||
+'idth'#3':'#1#5'Align'#7#6'alLeft'#12'ClientHeight'#3'Y'#2#11'ClientWidth'#3
|
+'Width'#3':'#1#5'Align'#7#6'alLeft'#12'ClientHeight'#3'Y'#2#11'ClientWidth'#3
|
||||||
+':'#1#8'TabOrder'#2#0#0#9'TTreeView'#9'trvSchema'#4'Left'#2#1#6'Height'#3'W'
|
+':'#1#8'TabOrder'#2#0#0#9'TTreeView'#9'trvSchema'#4'Left'#2#1#6'Height'#3'W'
|
||||||
+#2#3'Top'#2#1#5'Width'#3'8'#1#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2
|
+#2#3'Top'#2#1#5'Width'#3'8'#1#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2
|
||||||
+#15#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#0#0#0#6'TPanel'#6'Panel2'#4
|
+#15#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#0#0#0#6'TPanel'#6'Panel2'#4
|
||||||
@ -22,17 +22,166 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
|||||||
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHA'
|
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHA'
|
||||||
+'RSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Co'
|
+'RSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Co'
|
||||||
+'urier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'Popu'
|
+'urier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'Popu'
|
||||||
+'pMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.DigitCou'
|
+'pMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions'
|
||||||
+'nt'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter'
|
+'.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gut'
|
||||||
+'.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1
|
+'ter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2
|
||||||
+#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7
|
+#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'Sh'
|
||||||
+'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7
|
+'ortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8
|
||||||
+'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1
|
+'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'S'
|
||||||
+#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7
|
+'hortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8
|
||||||
+'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7
|
+'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'S'
|
||||||
+'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
+'hortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'S'
|
||||||
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7
|
+'hortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
|
||||||
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
+'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10
|
||||||
|
+#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8
|
||||||
|
+'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8
|
||||||
|
+'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8
|
||||||
|
+'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||||
|
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||||
|
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||||
|
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||||
|
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||||
|
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||||
|
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||||
|
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||||
|
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||||
|
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||||
|
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||||
|
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||||
|
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||||
|
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||||
|
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||||
|
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||||
|
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||||
|
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||||
|
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||||
|
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||||
|
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||||
|
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||||
|
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||||
|
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||||
|
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||||
|
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||||
|
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||||
|
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||||
|
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||||
|
,'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||||
|
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||||
|
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnC'
|
||||||
|
+'hange'#13#0#0#0#9'TTabSheet'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#0#8'TSynEdit'#7
|
||||||
|
+'srcWSDL'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.C'
|
||||||
|
+'harSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#233
|
||||||
|
+#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'P'
|
||||||
|
+'opupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'6'
|
||||||
|
+#24'BookMarkOptions.OnChange'#13#22'Gutter.ShowLineNumbers'#9#15'Gutter.OnCh'
|
||||||
|
+'ange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'
|
||||||
|
+#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'S'
|
||||||
|
+'hortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8
|
||||||
|
+'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0
|
||||||
|
+#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8
|
||||||
|
+'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8
|
||||||
|
+'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8
|
||||||
|
+'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8
|
||||||
|
+'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8
|
||||||
|
+'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8
|
||||||
|
+'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'S'
|
||||||
|
+'hortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8
|
||||||
|
+'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'S'
|
||||||
|
+'hortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8
|
||||||
|
+'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'S'
|
||||||
|
+'hortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8
|
||||||
|
+'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201
|
||||||
|
+#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3
|
||||||
|
+#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Comman'
|
||||||
|
+'d'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7
|
||||||
|
+'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8
|
||||||
|
+#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1
|
||||||
|
+#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3
|
||||||
|
+#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Comma'
|
||||||
|
+'nd'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7
|
||||||
|
+'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0
|
||||||
|
+#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X'
|
||||||
|
+'@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortC'
|
||||||
|
+'ut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'S'
|
||||||
|
+'hortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1
|
||||||
|
+#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3
|
||||||
|
+'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Comman'
|
||||||
|
+'d'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'C'
|
||||||
|
+'ommand'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1
|
||||||
|
+#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'
|
||||||
|
+#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3
|
||||||
|
+'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCu'
|
||||||
|
+'t'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'Sh'
|
||||||
|
+'ortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1
|
||||||
|
+#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3
|
||||||
|
+#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Comm'
|
||||||
|
+'and'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7
|
||||||
|
+'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'
|
||||||
|
+#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'#13#0#0#0#9'TTabSheet'#7'tsProx'
|
||||||
|
+'y'#7'Caption'#6#6'&Proxy'#0#8'TSynEdit'#8'srcProxy'#6'Height'#3'='#2#5'Widt'
|
||||||
|
+'h'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Fo'
|
||||||
|
+'nt.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10'F'
|
||||||
|
+'ont.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'T'
|
||||||
|
+'abOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.DigitCount'#2#5#22
|
||||||
|
+'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter.CodeFoldin'
|
||||||
|
+'gWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'
|
||||||
|
+#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3
|
||||||
|
+#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2
|
||||||
|
+'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'
|
||||||
|
+#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2
|
||||||
|
,#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2
|
||||||
|
+#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6
|
||||||
|
+#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2
|
||||||
|
+#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2
|
||||||
|
+#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2
|
||||||
|
+#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13
|
||||||
|
+#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||||
|
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||||
|
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||||
|
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||||
|
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||||
|
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||||
|
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||||
|
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||||
|
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||||
|
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||||
|
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||||
|
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||||
|
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||||
|
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||||
|
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||||
|
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||||
|
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||||
|
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||||
|
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||||
|
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||||
|
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||||
|
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||||
|
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||||
|
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||||
|
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||||
|
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||||
|
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||||
|
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||||
|
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||||
|
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||||
|
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||||
|
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#5
|
||||||
|
+'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#0#8'TSynEdit'#6'srcImp'#6
|
||||||
|
+'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12
|
||||||
|
+'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'
|
||||||
|
+#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10
|
||||||
|
+'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.Digi'
|
||||||
|
+'tCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gu'
|
||||||
|
+'tter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'
|
||||||
|
+#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0
|
||||||
|
+#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0
|
||||||
|
+#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'
|
||||||
|
+#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0
|
||||||
|
+#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1
|
||||||
|
+#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1
|
||||||
|
+#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1
|
||||||
|
+#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
||||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
||||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
||||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
||||||
@ -44,56 +193,7 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
|||||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
||||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
||||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
||||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
,'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
||||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
|
||||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
|
||||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
|
||||||
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short'
|
|
||||||
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8
|
|
||||||
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251
|
|
||||||
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'
|
|
||||||
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm'
|
|
||||||
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7
|
|
||||||
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0
|
|
||||||
+#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5'
|
|
||||||
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'
|
|
||||||
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short'
|
|
||||||
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8
|
|
||||||
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'
|
|
||||||
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3
|
|
||||||
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman'
|
|
||||||
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C'
|
|
||||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
|
||||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
|
||||||
,'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
|
||||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'T'
|
|
||||||
+'TabSheet'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#12'ClientHeight'#3'='#2#11'Client'
|
|
||||||
+'Width'#3#245#1#0#8'TSynEdit'#7'srcWSDL'#6'Height'#3'='#2#5'Width'#3#245#1#5
|
|
||||||
+'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7
|
|
||||||
+'clBlack'#11'Font.Height'#2#233#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7
|
|
||||||
+'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23
|
|
||||||
+'BookMarkOptions.Xoffset'#2'6'#22'Gutter.ShowLineNumbers'#9#23'Gutter.CodeFo'
|
|
||||||
+'ldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#10'Keystrokes'#14#1#7'Com'
|
|
||||||
+'mand'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comm'
|
|
||||||
+'and'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Co'
|
|
||||||
+'mmand'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7
|
|
||||||
+'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'C'
|
|
||||||
+'ommand'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'C'
|
|
||||||
+'ommand'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
|
||||||
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7
|
|
||||||
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
|
||||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
|
||||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
|
||||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
|
||||||
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C'
|
|
||||||
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7
|
|
||||||
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C'
|
|
||||||
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7
|
|
||||||
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0
|
|
||||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
|
||||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
|
||||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
|
||||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
|
||||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
||||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
||||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
||||||
@ -116,270 +216,172 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
|||||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
||||||
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
||||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'T'
|
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'T'
|
||||||
+'TabSheet'#7'tsProxy'#7'Caption'#6#6'&Proxy'#12'ClientHeight'#3'='#2#11'Clie'
|
+'TabSheet'#8'tsBinder'#7'Caption'#6#7'&Binder'#0#8'TSynEdit'#9'srcBinder'#6
|
||||||
+'ntWidth'#3#245#1#0#8'TSynEdit'#8'srcProxy'#6'Height'#3'='#2#5'Width'#3#245#1
|
+'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12
|
||||||
+#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7
|
+'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'
|
||||||
+#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7
|
+#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10
|
||||||
+#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0
|
+'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#15'Gutter.Auto'
|
||||||
+#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'#13#17'Gutter.'
|
+'Size'#9#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.Sh'
|
||||||
+'DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15
|
+'owCodeFolding'#9#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynP'
|
||||||
+'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'S'
|
+'asSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2
|
||||||
+'ynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Comman'
|
+'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'
|
||||||
+'d'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Co'
|
+#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3
|
||||||
+'mmand'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Com'
|
+#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2
|
||||||
+'mand'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'C'
|
+'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2
|
||||||
+'ommand'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'C'
|
+'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2
|
||||||
,'ommand'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'C'
|
+'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2
|
||||||
+'ommand'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7
|
+'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2
|
||||||
+'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7
|
+'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2
|
||||||
+'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7
|
+'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'
|
||||||
+'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'C'
|
+#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'
|
||||||
+'ommand'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7
|
+#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8
|
||||||
+'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'C'
|
+'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8
|
||||||
+'ommand'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7
|
+'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'S'
|
||||||
+'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'C'
|
+'hortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8
|
||||||
+'ommand'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7
|
+'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201
|
||||||
+'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1
|
+#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3
|
||||||
+#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '
|
+#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Comman'
|
||||||
+#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3
|
+'d'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7
|
||||||
+'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCu'
|
+'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8
|
||||||
+'t'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8
|
+#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1
|
||||||
+'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'C'
|
+#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3
|
||||||
+'ommand'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0
|
+#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Comma'
|
||||||
+#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3
|
+'nd'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7
|
||||||
+'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'Short'
|
+'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0
|
||||||
+'Cut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8
|
+#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X'
|
||||||
+'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['
|
+'@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortC'
|
||||||
+#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'
|
+'ut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'S'
|
||||||
+#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Com'
|
+'hortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1
|
||||||
+'mand'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7
|
+#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3
|
||||||
+'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0
|
+'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Comman'
|
||||||
+#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4'
|
+'d'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'C'
|
||||||
+'@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'
|
+'ommand'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1
|
||||||
+#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'Short'
|
+#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'
|
||||||
+'Cut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8
|
,#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3
|
||||||
+'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'
|
+'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCu'
|
||||||
+#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3
|
+'t'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'Sh'
|
||||||
+'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Comman'
|
+'ortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1
|
||||||
+'d'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'C'
|
+#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3
|
||||||
+'ommand'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1
|
+#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Comm'
|
||||||
+#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C'
|
+'and'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7
|
||||||
+'`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCu'
|
+'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'
|
||||||
+'t'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'Sh'
|
+#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#5'tsLog'#7'Caption'#6#4'&Log'#0#5'TMem'
|
||||||
+'ortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'#13#0#0#0#9'TTabS'
|
+'o'#6'mmoLog'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#13'Li'
|
||||||
+'heet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#12'ClientHeight'#3
|
+'nes.Strings'#1#6#0#0#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#9
|
||||||
+'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#6'srcImp'#6'Height'#3'='#2#5'Wid'
|
+'TSplitter'#9'Splitter1'#4'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8#5'Colo'
|
||||||
+'th'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'F'
|
+'r'#7#7'clBlack'#11'ParentColor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3'`'
|
||||||
+'ont.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10
|
+#1#3'top'#2'p'#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9'TMenuI'
|
||||||
+'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8
|
+'tem'#10'MenuItem16'#6'Action'#7#10'actNewFile'#7'OnClick'#7#17'actNewFileEx'
|
||||||
+'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'
|
+'ecute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'M'
|
||||||
+#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCod'
|
+'enuItem5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7#18'actOpenFileExecute'#0
|
||||||
+'eFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'High'
|
+#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExp'
|
||||||
+'lighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2
|
+'ortExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#7'actSave'#7'OnClick'
|
||||||
+'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'
|
+#7#14'actSaveExecute'#0#0#9'TMenuItem'#10'MenuItem32'#6'Action'#7#9'actSaveA'
|
||||||
+#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3
|
+'s'#7'OnClick'#7#16'actSaveAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'#7'Capt'
|
||||||
+'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'
|
+'ion'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7'actExit'#7'OnClick'
|
||||||
+#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3
|
+#7#14'actExitExecute'#0#0#0#9'TMenuItem'#10'MenuItem14'#7'Caption'#6#5'&View'
|
||||||
+'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2
|
+#0#9'TMenuItem'#10'MenuItem15'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21
|
||||||
+''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3
|
+'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem50'#6'Action'#7#9'actSea'
|
||||||
+'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'
|
+'rch'#7'OnClick'#7#16'actSearchExecute'#0#0#9'TMenuItem'#10'MenuItem29'#7'Ca'
|
||||||
+#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3
|
+'ption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem30'#6'Action'#7#13'actFullExpand'
|
||||||
+'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2
|
+#7'OnClick'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Act'
|
||||||
+'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3
|
+'ion'#7#15'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#0#9
|
||||||
+'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2
|
+'TMenuItem'#10'MenuItem10'#7'Caption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuIt'
|
||||||
+'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3
|
+'em11'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0
|
||||||
+'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2
|
+#0#9'TMenuItem'#10'MenuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7
|
||||||
+'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3
|
+#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem48'#6'Action'#7#15
|
||||||
+'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'
|
+'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10
|
||||||
+#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'Short'
|
+'MenuItem25'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExec'
|
||||||
+'Cut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8
|
+'ute'#0#0#9'TMenuItem'#10'MenuItem35'#6'Action'#7#14'actArrayCreate'#7'OnCli'
|
||||||
,'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245
|
+'ck'#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem36'#6'Action'#7
|
||||||
+#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Comman'
|
+#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMe'
|
||||||
+'d'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160
|
+'nuItem'#10'MenuItem12'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem13'#6
|
||||||
+#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortC'
|
+'Action'#7#15'actUpdateObject'#7'Caption'#6#13'Update Object'#7'OnClick'#7#22
|
||||||
+'ut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8
|
+'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9'actDe'
|
||||||
+'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3
|
+'lete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'#6'A'
|
||||||
+#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Comm'
|
+'ction'#7#8'actAbout'#7'Caption'#6#6'&About'#7'OnClick'#7#15'actAboutExecute'
|
||||||
+'and'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7
|
+#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TAction'#11'actO'
|
||||||
+'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0
|
+'penFile'#7'Caption'#6#9'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'#7
|
||||||
+#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3
|
+#18'actOpenFileExecute'#8'ShortCut'#3'O@'#0#0#7'TAction'#7'actExit'#7'Captio'
|
||||||
+'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCu'
|
+'n'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitExecute'#8'S'
|
||||||
+'t'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'Sh'
|
+'hortCut'#3's@'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save generated f'
|
||||||
+'ortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1
|
+'iles ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportExecute'#8'On'
|
||||||
+#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3
|
+'Update'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'Abo'
|
||||||
+'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Comman'
|
+'ut'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TActi'
|
||||||
+'d'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'C'
|
+'on'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfNoHandler'#9#9'On'
|
||||||
+'ommand'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1
|
+'Execute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAc'
|
||||||
+#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'
|
+'tion'#13'actEnumCreate'#7'Caption'#6#18'Create Enumeration'#18'DisableIfNoH'
|
||||||
+#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3
|
+'andler'#9#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TAction'#15'actUpda'
|
||||||
+'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCu'
|
+'teObject'#7'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22
|
||||||
+'t'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'Sh'
|
+'actUpdateObjectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TActi'
|
||||||
+'ortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232
|
+'on'#14'actRefreshView'#7'Caption'#6#14'&Refresh Views'#18'DisableIfNoHandle'
|
||||||
+#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'
|
+'r'#9#9'OnExecute'#7#21'actRefreshViewExecute'#8'ShortCut'#2't'#0#0#7'TActio'
|
||||||
+#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Comma'
|
+'n'#10'actNewFile'#7'Caption'#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExe'
|
||||||
+'nd'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'
|
+'cute'#7#17'actNewFileExecute'#8'ShortCut'#3'N@'#0#0#7'TAction'#17'actCompou'
|
||||||
+#13#0#0#0#9'TTabSheet'#8'tsBinder'#7'Caption'#6#7'&Binder'#12'ClientHeight'#3
|
+'ndCreate'#7'Caption'#6#17'Create Class Type'#18'DisableIfNoHandler'#9#9'OnE'
|
||||||
+'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#9'srcBinder'#6'Height'#3'='#2#5
|
+'xecute'#7#24'actCompoundCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7'C'
|
||||||
+'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10
|
+'aption'#6#16'Create Interface'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'a'
|
||||||
+'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10
|
,'ctIntfCreateExecute'#0#0#7'TAction'#13'actFullExpand'#7'Caption'#6#11'Full '
|
||||||
+'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8
|
+'expand'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actFullExpandExecute'#0#0
|
||||||
+'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'
|
+#7'TAction'#15'actFullCollapse'#7'Caption'#6#13'Full Collapse'#18'DisableIfN'
|
||||||
+#13#15'Gutter.AutoSize'#9#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumber'
|
+'oHandler'#9#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7'TAction'#7'actS'
|
||||||
+'s'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFold'
|
+'ave'#7'Caption'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actSav'
|
||||||
+'ingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Comma'
|
+'eExecute'#8'ShortCut'#3'S@'#0#0#7'TAction'#9'actDelete'#7'Caption'#6#6'Dele'
|
||||||
+'nd'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comman'
|
+'te'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actDeleteExecute'#8'OnUpdate'
|
||||||
+'d'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Comm'
|
+#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actArrayCreate'#7'Caption'#6
|
||||||
+'and'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7
|
+#12'Create Array'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actArrayCreateE'
|
||||||
+'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'C'
|
+'xecute'#0#0#7'TAction'#18'actTypeALiasCreate'#7'Caption'#6#17'Create Type A'
|
||||||
+'ommand'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'C'
|
+'Lias'#18'DisableIfNoHandler'#9#9'OnExecute'#7#25'actTypeALiasCreateExecute'
|
||||||
+'ommand'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
+#0#0#7'TAction'#15'actRecordCreate'#7'Caption'#6#13'Create Record'#18'Disabl'
|
||||||
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7
|
+'eIfNoHandler'#9#9'OnExecute'#7#22'actRecordCreateExecute'#0#0#7'TAction'#9
|
||||||
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
+'actSearch'#7'Caption'#6#6'Search'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16
|
||||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
+'actSearchExecute'#8'OnUpdate'#7#15'actSearchUpdate'#8'ShortCut'#3'F@'#0#0#0
|
||||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
+#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Filter'#6
|
||||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
+'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'#11'FilterIndex'#2#0#10
|
||||||
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C'
|
+'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'#14
|
||||||
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7
|
+'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TSynP'
|
||||||
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C'
|
+'asSyn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'
|
||||||
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7
|
+#18'CommentAttri.Style'#11#6'fsBold'#0#22'StringAttri.Foreground'#7#8'clMaro'
|
||||||
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0
|
+'on'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'DirectiveAttri.Foreground'#7#7
|
||||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
+'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'NestedComments'#9#4'lef'
|
||||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
+'t'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'#2'SD'#5'Title'#6#27'Enregistrer '
|
||||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
+'le fichier sous'#10'DefaultExt'#6#5'.WSDL'#6'Filter'#6#25'WDSL files(*.WSDL'
|
||||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
+')|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEnable'
|
||||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
+'Sizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top'#3#176#0#0#0#10'TPopupMenu'
|
||||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
+#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#152#0#0#9'TMenuItem'#10'MenuItem28'
|
||||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
+#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0#0#9'T'
|
||||||
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short'
|
+'MenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7#22'ac'
|
||||||
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8
|
+'tFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuItem39'#6'Action'#7#14'actRef'
|
||||||
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251
|
+'reshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuIt'
|
||||||
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'
|
+'em26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnu'
|
||||||
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm'
|
+'mCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem'
|
||||||
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7
|
+'21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExec'
|
||||||
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0
|
+'ute'#0#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7#15'actRecordCreate'#7'OnCl'
|
||||||
,#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5'
|
+'ick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'
|
||||||
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'
|
+#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'
|
||||||
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short'
|
+#10'MenuItem37'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreat'
|
||||||
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8
|
+'eExecute'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'#7#18'actTypeALiasCreate'
|
||||||
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'
|
+#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7
|
||||||
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3
|
+'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObjec'
|
||||||
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman'
|
+'t'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem33'#6
|
||||||
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C'
|
+'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#10'TPopupMen'
|
||||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
+'u'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0#0#9'TMenuItem'#10'MenuItem1'
|
||||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
+'8'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0
|
||||||
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
+#9'TMenuItem'#10'MenuItem49'#6'Action'#7#9'actSearch'#7'OnClick'#7#16'actSea'
|
||||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'Select'
|
+'rchExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
||||||
+'edColor.OnChange'#13#0#0#0#9'TTabSheet'#5'tsLog'#7'Caption'#6#4'&Log'#12'Cl'
|
+'em'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecut'
|
||||||
+'ientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#5'TMemo'#6'mmoLog'#6'Height'#3
|
+'e'#0#0#9'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'Me'
|
||||||
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#0#0#10'S'
|
+'nuItem41'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExec'
|
||||||
+'crollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#9'TSplitter'#9'Splitter1'#4
|
+'ute'#0#0#9'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCreate'#7'On'
|
||||||
+'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8#5'Color'#7#7'clBlack'#11'ParentC'
|
+'Click'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem47'#6'Act'
|
||||||
+'olor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3'`'#1#3'top'#2'p'#0#9'TMenuI'
|
+'ion'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TM'
|
||||||
+'tem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9'TMenuItem'#10'MenuItem16'#6'Ac'
|
+'enuItem'#10'MenuItem44'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEn'
|
||||||
+'tion'#7#10'actNewFile'#7'OnClick'#7#17'actNewFileExecute'#0#0#9'TMenuItem'#9
|
+'umCreateExecute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Action'#7#13'actIntfCrea'
|
||||||
+'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#11'a'
|
+'te'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem42'#6
|
||||||
+'ctOpenFile'#7'OnClick'#7#18'actOpenFileExecute'#0#0#9'TMenuItem'#9'MenuItem'
|
+'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'
|
||||||
+'3'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecute'#0#0#9'TMenuIt'
|
+#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Documents WSDL ('
|
||||||
+'em'#9'MenuItem7'#6'Action'#7#7'actSave'#7'OnClick'#7#14'actSaveExecute'#0#0
|
+'*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNavy'#30'Att'
|
||||||
+#9'TMenuItem'#10'MenuItem32'#6'Action'#7#9'actSaveAs'#7'OnClick'#7#16'actSav'
|
+'ributeValueAttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'left'#3
|
||||||
+'eAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
+#210#1#3'top'#3#252#0#0#0#11'TFindDialog'#2'FD'#5'Title'#6#6'Search'#6'OnFin'
|
||||||
+'em'#9'MenuItem4'#6'Action'#7#7'actExit'#7'OnClick'#7#14'actExitExecute'#0#0
|
+'d'#7#6'FDFind'#4'left'#3'@'#2#3'top'#3#143#0#0#0#0
|
||||||
+#0#9'TMenuItem'#10'MenuItem14'#7'Caption'#6#5'&View'#0#9'TMenuItem'#10'MenuI'
|
|
||||||
+'tem15'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'
|
|
||||||
+#0#0#9'TMenuItem'#10'MenuItem29'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuI'
|
|
||||||
+'tem30'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0
|
|
||||||
+#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7
|
|
||||||
+#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'#10'MenuItem10'#7'Caption'#6#8
|
|
||||||
+'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Action'#7#13'actEnumCreate'#7'OnC'
|
|
||||||
+'lick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem23'#6'Action'#7
|
|
||||||
+#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenu'
|
|
||||||
+'Item'#10'MenuItem48'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRec'
|
|
||||||
+'ordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'actIntfCre'
|
|
||||||
+'ate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem35'#6
|
|
||||||
+'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0#9'T'
|
|
||||||
+'MenuItem'#10'MenuItem36'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25
|
|
||||||
+'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Caption'#6#1'-'
|
|
||||||
+#0#0#9'TMenuItem'#10'MenuItem13'#6'Action'#7#15'actUpdateObject'#7'Caption'#6
|
|
||||||
+#13'Update Object'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'
|
|
||||||
+#10'MenuItem34'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0
|
|
||||||
+#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'
|
|
||||||
+#7'OnClick'#7#15'actAboutExecute'#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1
|
|
||||||
+#3'top'#2'8'#0#7'TAction'#11'actOpenFile'#7'Caption'#6#9'Open File'#18'Disab'
|
|
||||||
+'leIfNoHandler'#9#9'OnExecute'#7#18'actOpenFileExecute'#8'ShortCut'#3'O@'#0#0
|
|
||||||
+#7'TAction'#7'actExit'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExe'
|
|
||||||
+'cute'#7#14'actExitExecute'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save'
|
|
||||||
+' generated files ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportE'
|
|
||||||
+'xecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Capt'
|
|
||||||
+'ion'#6#5'About'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'
|
|
||||||
+#0#0#7'TAction'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfNoHand'
|
|
||||||
+'ler'#9#9'OnExecute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportUpdate'
|
|
||||||
+#0#0#7'TAction'#13'actEnumCreate'#7'Caption'#6#18'Create Enumeration'#18'Dis'
|
|
||||||
+'ableIfNoHandler'#9#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TAction'#15
|
|
||||||
+'actUpdateObject'#7'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#9'OnExecut'
|
|
||||||
+'e'#7#22'actUpdateObjectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0
|
|
||||||
+#7'TAction'#14'actRefreshView'#7'Caption'#6#14'&Refresh Views'#18'DisableIfN'
|
|
||||||
+'oHandler'#9#9'OnExecute'#7#21'actRefreshViewExecute'#0#0#7'TAction'#10'actN'
|
|
||||||
+'ewFile'#7'Caption'#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17
|
|
||||||
+'actNewFileExecute'#0#0#7'TAction'#17'actCompoundCreate'#7'Caption'#6#17'Cre'
|
|
||||||
,'ate Class Type'#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'actCompoundCreat'
|
|
||||||
+'eExecute'#0#0#7'TAction'#13'actIntfCreate'#7'Caption'#6#16'Create Interface'
|
|
||||||
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actIntfCreateExecute'#0#0#7'TAct'
|
|
||||||
+'ion'#13'actFullExpand'#7'Caption'#6#11'Full expand'#18'DisableIfNoHandler'#9
|
|
||||||
+#9'OnExecute'#7#20'actFullExpandExecute'#0#0#7'TAction'#15'actFullCollapse'#7
|
|
||||||
+'Caption'#6#13'Full Collapse'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'act'
|
|
||||||
+'FullCollapseExecute'#0#0#7'TAction'#7'actSave'#7'Caption'#6#4'Save'#18'Disa'
|
|
||||||
+'bleIfNoHandler'#9#9'OnExecute'#7#14'actSaveExecute'#8'ShortCut'#3'S@'#0#0#7
|
|
||||||
+'TAction'#9'actDelete'#7'Caption'#6#6'Delete'#18'DisableIfNoHandler'#9#9'OnE'
|
|
||||||
+'xecute'#7#16'actDeleteExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7
|
|
||||||
+'TAction'#14'actArrayCreate'#7'Caption'#6#12'Create Array'#18'DisableIfNoHan'
|
|
||||||
+'dler'#9#9'OnExecute'#7#21'actArrayCreateExecute'#0#0#7'TAction'#18'actTypeA'
|
|
||||||
+'LiasCreate'#7'Caption'#6#17'Create Type ALias'#18'DisableIfNoHandler'#9#9'O'
|
|
||||||
+'nExecute'#7#25'actTypeALiasCreateExecute'#0#0#7'TAction'#15'actRecordCreate'
|
|
||||||
+#7'Caption'#6#13'Create Record'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'a'
|
|
||||||
+'ctRecordCreateExecute'#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un '
|
|
||||||
+'fichier existant'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas'
|
|
||||||
+')|*.pas'#11'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPath'
|
|
||||||
+'MustExist'#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'
|
|
||||||
+#3#153#1#3'top'#2'X'#0#0#10'TSynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'Comme'
|
|
||||||
+'ntAttri.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#22'St'
|
|
||||||
+'ringAttri.Foreground'#7#8'clMaroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25
|
|
||||||
+'DirectiveAttri.Foreground'#7#7'clGreen'#20'DirectiveAttri.Style'#11#6'fsBol'
|
|
||||||
+'d'#0#14'NestedComments'#9#4'left'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'#2
|
|
||||||
+'SD'#5'Title'#6#27'Enregistrer le fichier sous'#10'DefaultExt'#6#5'.WSDL'#6
|
|
||||||
+'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15
|
|
||||||
+'ofPathMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'to'
|
|
||||||
+'p'#3#176#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#152#0
|
|
||||||
+#0#9'TMenuItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20
|
|
||||||
+'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFul'
|
|
||||||
+'lCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem'#10'Menu'
|
|
||||||
+'Item39'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecut'
|
|
||||||
+'e'#0#0#9'TMenuItem'#10'MenuItem26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'Men'
|
|
||||||
+'uItem8'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'
|
|
||||||
+#0#0#9'TMenuItem'#10'MenuItem21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'
|
|
||||||
+#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7
|
|
||||||
+#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'
|
|
||||||
+#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateE'
|
|
||||||
+'xecute'#0#0#9'TMenuItem'#10'MenuItem37'#6'Action'#7#14'actArrayCreate'#7'On'
|
|
||||||
+'Click'#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'
|
|
||||||
+#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'T'
|
|
||||||
+'MenuItem'#10'MenuItem22'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6
|
|
||||||
+'Action'#7#15'actUpdateObject'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9
|
|
||||||
+'TMenuItem'#10'MenuItem33'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDelet'
|
|
||||||
+'eExecute'#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0
|
|
||||||
+#0#9'TMenuItem'#10'MenuItem18'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21
|
|
||||||
+'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0
|
|
||||||
+#9'TMenuItem'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExp'
|
|
||||||
+'ortExecute'#0#0#9'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
|
||||||
+'em'#10'MenuItem41'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayC'
|
|
||||||
+'reateExecute'#0#0#9'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCre'
|
|
||||||
+'ate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem'
|
|
||||||
+'47'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'
|
|
||||||
+#0#0#9'TMenuItem'#10'MenuItem44'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7
|
|
||||||
+#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Action'#7#13'act'
|
|
||||||
+'IntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuI'
|
|
||||||
+'tem42'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreat'
|
|
||||||
+'eExecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Docume'
|
|
||||||
+'nts WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNa'
|
|
||||||
+'vy'#30'AttributeValueAttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8
|
|
||||||
+#4'left'#3#210#1#3'top'#3#252#0#0#0#0
|
|
||||||
]);
|
]);
|
||||||
|
@ -39,6 +39,7 @@ type
|
|||||||
actFullCollapse: TAction;
|
actFullCollapse: TAction;
|
||||||
actDelete : TAction;
|
actDelete : TAction;
|
||||||
actArrayCreate : TAction;
|
actArrayCreate : TAction;
|
||||||
|
actSearch : TAction;
|
||||||
actRecordCreate : TAction;
|
actRecordCreate : TAction;
|
||||||
actTypeALiasCreate : TAction;
|
actTypeALiasCreate : TAction;
|
||||||
actSave : TAction;
|
actSave : TAction;
|
||||||
@ -48,6 +49,7 @@ type
|
|||||||
actSaveAs: TAction;
|
actSaveAs: TAction;
|
||||||
actOpenFile: TAction;
|
actOpenFile: TAction;
|
||||||
AL: TActionList;
|
AL: TActionList;
|
||||||
|
FD : TFindDialog;
|
||||||
MainMenu1: TMainMenu;
|
MainMenu1: TMainMenu;
|
||||||
MenuItem10: TMenuItem;
|
MenuItem10: TMenuItem;
|
||||||
MenuItem11: TMenuItem;
|
MenuItem11: TMenuItem;
|
||||||
@ -88,7 +90,9 @@ type
|
|||||||
MenuItem46 : TMenuItem;
|
MenuItem46 : TMenuItem;
|
||||||
MenuItem47 : TMenuItem;
|
MenuItem47 : TMenuItem;
|
||||||
MenuItem48 : TMenuItem;
|
MenuItem48 : TMenuItem;
|
||||||
|
MenuItem49 : TMenuItem;
|
||||||
MenuItem5: TMenuItem;
|
MenuItem5: TMenuItem;
|
||||||
|
MenuItem50 : TMenuItem;
|
||||||
MenuItem6: TMenuItem;
|
MenuItem6: TMenuItem;
|
||||||
MenuItem7 : TMenuItem;
|
MenuItem7 : TMenuItem;
|
||||||
MenuItem8: TMenuItem;
|
MenuItem8: TMenuItem;
|
||||||
@ -138,9 +142,12 @@ type
|
|||||||
procedure actRefreshViewExecute(Sender: TObject);
|
procedure actRefreshViewExecute(Sender: TObject);
|
||||||
procedure actSaveAsExecute(Sender: TObject);
|
procedure actSaveAsExecute(Sender: TObject);
|
||||||
procedure actSaveExecute (Sender : TObject );
|
procedure actSaveExecute (Sender : TObject );
|
||||||
|
procedure actSearchExecute(Sender : TObject);
|
||||||
|
procedure actSearchUpdate(Sender : TObject);
|
||||||
procedure actTypeALiasCreateExecute(Sender : TObject);
|
procedure actTypeALiasCreateExecute(Sender : TObject);
|
||||||
procedure actUpdateObjectExecute(Sender: TObject);
|
procedure actUpdateObjectExecute(Sender: TObject);
|
||||||
procedure actUpdateObjectUpdate(Sender: TObject);
|
procedure actUpdateObjectUpdate(Sender: TObject);
|
||||||
|
procedure FDFind(Sender : TObject);
|
||||||
procedure FormClose (Sender : TObject; var CloseAction : TCloseAction );
|
procedure FormClose (Sender : TObject; var CloseAction : TCloseAction );
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
private
|
private
|
||||||
@ -148,6 +155,8 @@ type
|
|||||||
FStatusMessageTag : PtrInt;
|
FStatusMessageTag : PtrInt;
|
||||||
FCurrentFileName : string;
|
FCurrentFileName : string;
|
||||||
{$IFDEF WST_IDE}FProjectLibrary : TLazProjectFile;{$ENDIF}
|
{$IFDEF WST_IDE}FProjectLibrary : TLazProjectFile;{$ENDIF}
|
||||||
|
private
|
||||||
|
function Search(const AText : string) : Boolean;
|
||||||
private
|
private
|
||||||
function GetTypeNode() : TTreeNode;
|
function GetTypeNode() : TTreeNode;
|
||||||
function GetInterfaceNode() : TTreeNode;
|
function GetInterfaceNode() : TTreeNode;
|
||||||
@ -170,7 +179,7 @@ implementation
|
|||||||
uses view_helper, DOM, XMLRead, XMLWrite, //HeapTrc,
|
uses view_helper, DOM, XMLRead, XMLWrite, //HeapTrc,
|
||||||
xsd_parser, wsdl_parser, source_utils, command_line_parser, generator, metadata_generator,
|
xsd_parser, wsdl_parser, source_utils, command_line_parser, generator, metadata_generator,
|
||||||
binary_streamer, wst_resources_utils, xsd_generator, wsdl_generator,
|
binary_streamer, wst_resources_utils, xsd_generator, wsdl_generator,
|
||||||
uabout, edit_helper, udm, ufrmsaveoption, pparser
|
uabout, edit_helper, udm, ufrmsaveoption, pparser, SynEditTypes
|
||||||
{$IFDEF WST_IDE},LazIDEIntf,IDEMsgIntf{$ENDIF};
|
{$IFDEF WST_IDE},LazIDEIntf,IDEMsgIntf{$ENDIF};
|
||||||
|
|
||||||
|
|
||||||
@ -444,6 +453,16 @@ begin
|
|||||||
actSaveAs.Execute() ;
|
actSaveAs.Execute() ;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfWstTypeLibraryEdit.actSearchExecute(Sender : TObject);
|
||||||
|
begin
|
||||||
|
FD.Execute();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfWstTypeLibraryEdit.actSearchUpdate(Sender : TObject);
|
||||||
|
begin
|
||||||
|
TAction(Sender).Enabled := ( PC.ActivePageIndex in [0..4] );
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfWstTypeLibraryEdit.actTypeALiasCreateExecute(Sender : TObject);
|
procedure TfWstTypeLibraryEdit.actTypeALiasCreateExecute(Sender : TObject);
|
||||||
var
|
var
|
||||||
e : TPasAliasType;
|
e : TPasAliasType;
|
||||||
@ -485,6 +504,12 @@ begin
|
|||||||
HasEditor(TPasElement(trvSchema.Selected.Data));
|
HasEditor(TPasElement(trvSchema.Selected.Data));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfWstTypeLibraryEdit.FDFind(Sender : TObject);
|
||||||
|
begin
|
||||||
|
if not Search(FD.FindText) then
|
||||||
|
ShowMessageFmt('Unable to find "%s".',[FD.FindText]);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfWstTypeLibraryEdit.FormClose (Sender : TObject; var CloseAction : TCloseAction );
|
procedure TfWstTypeLibraryEdit.FormClose (Sender : TObject; var CloseAction : TCloseAction );
|
||||||
var
|
var
|
||||||
dlgRes : Integer;
|
dlgRes : Integer;
|
||||||
@ -537,6 +562,33 @@ begin
|
|||||||
RenderSymbols();
|
RenderSymbols();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TfWstTypeLibraryEdit.Search(const AText : string) : Boolean;
|
||||||
|
var
|
||||||
|
edt : TSynEdit;
|
||||||
|
opts : TSynSearchOptions;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
case PC.ActivePageIndex of
|
||||||
|
0 : edt := srcInterface;
|
||||||
|
1 : edt := srcWSDL;
|
||||||
|
2 : edt := srcProxy;
|
||||||
|
3 : edt := srcImp;
|
||||||
|
4 : edt := srcBinder;
|
||||||
|
else
|
||||||
|
edt := nil;
|
||||||
|
end;
|
||||||
|
if Assigned(edt) then begin
|
||||||
|
opts := [];
|
||||||
|
if not ( frDown in FD.Options ) then
|
||||||
|
Include(opts,ssoBackwards);
|
||||||
|
if ( frMatchCase in FD.Options ) then
|
||||||
|
Include(opts,ssoMatchCase);
|
||||||
|
if ( frWholeWord in FD.Options ) then
|
||||||
|
Include(opts,ssoWholeWord);
|
||||||
|
Result := edt.SearchReplace(AText,'',opts) <> 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TfWstTypeLibraryEdit.GetTypeNode(): TTreeNode;
|
function TfWstTypeLibraryEdit.GetTypeNode(): TTreeNode;
|
||||||
begin
|
begin
|
||||||
Result := trvSchema.TopItem.GetFirstChild().Items[0];
|
Result := trvSchema.TopItem.GetFirstChild().Items[0];
|
||||||
|
@ -1594,9 +1594,9 @@ var
|
|||||||
trueAncestor := ultimAnc;
|
trueAncestor := ultimAnc;
|
||||||
end;
|
end;
|
||||||
if trueAncestor.InheritsFrom(TPasNativeSimpleType) and
|
if trueAncestor.InheritsFrom(TPasNativeSimpleType) and
|
||||||
Assigned(TPasNativeSimpleType(trueAncestor).BoxedType)
|
Assigned(TPasNativeSimpleType(trueAncestor).ExtendableType)
|
||||||
then begin
|
then begin
|
||||||
trueAncestor := TPasNativeSimpleType(trueAncestor).BoxedType;
|
trueAncestor := TPasNativeSimpleType(trueAncestor).ExtendableType;
|
||||||
end;
|
end;
|
||||||
s := Format('%s',[trueAncestor.Name]);
|
s := Format('%s',[trueAncestor.Name]);
|
||||||
end else begin
|
end else begin
|
||||||
|
@ -144,18 +144,30 @@ type
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
TPasClassTypeClass = class of TPasClassType;
|
TPasClassTypeClass = class of TPasClassType;
|
||||||
TPasNativeClassType = class(TPasClassType) end;
|
TPasNativeSimpleContentClassType = class;
|
||||||
|
|
||||||
|
{ TPasNativeClassType }
|
||||||
|
|
||||||
|
TPasNativeClassType = class(TPasClassType)
|
||||||
|
private
|
||||||
|
FExtendableType : TPasNativeSimpleContentClassType;
|
||||||
|
public
|
||||||
|
destructor Destroy();override;
|
||||||
|
procedure SetExtendableType(AExtendableType : TPasNativeSimpleContentClassType);
|
||||||
|
property ExtendableType : TPasNativeSimpleContentClassType read FExtendableType;
|
||||||
|
end;
|
||||||
|
|
||||||
TPasNativeSimpleContentClassType = class(TPasNativeClassType) end;
|
TPasNativeSimpleContentClassType = class(TPasNativeClassType) end;
|
||||||
|
|
||||||
{ TPasNativeSimpleType }
|
{ TPasNativeSimpleType }
|
||||||
|
|
||||||
TPasNativeSimpleType = class(TPasType)
|
TPasNativeSimpleType = class(TPasType)
|
||||||
private
|
private
|
||||||
FBoxedType: TPasNativeSimpleContentClassType;
|
FExtendableType: TPasNativeSimpleContentClassType;
|
||||||
public
|
public
|
||||||
destructor Destroy();override;
|
destructor Destroy();override;
|
||||||
procedure SetBoxedType(ABoxedType : TPasNativeSimpleContentClassType);
|
procedure SetExtendableType(AExtendableType : TPasNativeSimpleContentClassType);
|
||||||
property BoxedType : TPasNativeSimpleContentClassType read FBoxedType;
|
property ExtendableType : TPasNativeSimpleContentClassType read FExtendableType;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function GetParameterIndex(
|
function GetParameterIndex(
|
||||||
@ -200,11 +212,17 @@ const
|
|||||||
('Double', 'TComplexFloatDoubleContentRemotable', 'double'),
|
('Double', 'TComplexFloatDoubleContentRemotable', 'double'),
|
||||||
('Extended', 'TComplexFloatExtendedContentRemotable', 'decimal')
|
('Extended', 'TComplexFloatExtendedContentRemotable', 'decimal')
|
||||||
);
|
);
|
||||||
|
BOXED_TYPES_COUNT = 1;
|
||||||
|
BOXED_TYPES : Array[0..Pred(BOXED_TYPES_COUNT)] Of array[0..2] of string = (
|
||||||
|
('TBase64StringRemotable', 'TBase64StringExtRemotable', 'base64Binary')
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
procedure AddSystemSymbol(
|
procedure AddSystemSymbol(
|
||||||
ADest : TPasModule;
|
ADest : TPasModule;
|
||||||
AContainer : TwstPasTreeContainer
|
AContainer : TwstPasTreeContainer
|
||||||
);
|
);
|
||||||
|
procedure RegisterSimpleTypes();
|
||||||
var
|
var
|
||||||
i : Integer;
|
i : Integer;
|
||||||
splTyp : TPasNativeSimpleType;
|
splTyp : TPasNativeSimpleType;
|
||||||
@ -225,21 +243,60 @@ begin
|
|||||||
ADest.InterfaceSection.Declarations.Add(syb);
|
ADest.InterfaceSection.Declarations.Add(syb);
|
||||||
ADest.InterfaceSection.Types.Add(splTyp);
|
ADest.InterfaceSection.Types.Add(splTyp);
|
||||||
end;
|
end;
|
||||||
splTyp.SetBoxedType(syb);
|
splTyp.SetExtendableType(syb);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
for i := Low(SIMPLE_TYPES) to High(SIMPLE_TYPES) do begin
|
for i := Low(SIMPLE_TYPES) to High(SIMPLE_TYPES) do begin
|
||||||
//splTyp := AContainer.FindElementInModule(SIMPLE_TYPES[i][0],ADest) as TPasNativeSimpleType;
|
|
||||||
splTyp := typlst[i];
|
splTyp := typlst[i];
|
||||||
if not IsStrEmpty(SIMPLE_TYPES[i][2]) then begin
|
if not IsStrEmpty(SIMPLE_TYPES[i][2]) then begin
|
||||||
AContainer.RegisterExternalAlias(splTyp,SIMPLE_TYPES[i][2]);
|
AContainer.RegisterExternalAlias(splTyp,SIMPLE_TYPES[i][2]);
|
||||||
if ( splTyp.BoxedType <> nil ) then begin
|
if ( splTyp.ExtendableType <> nil ) then begin
|
||||||
AContainer.RegisterExternalAlias(splTyp.BoxedType,SIMPLE_TYPES[i][2]);
|
AContainer.RegisterExternalAlias(splTyp.ExtendableType,SIMPLE_TYPES[i][2]);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure RegisterBoxedTypes();
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
nativeType : TPasNativeClassType;
|
||||||
|
syb : TPasNativeSimpleContentClassType;
|
||||||
|
s : string;
|
||||||
|
typlst : array[0..Pred(BOXED_TYPES_COUNT)] of TPasNativeClassType;
|
||||||
|
begin
|
||||||
|
for i := Low(BOXED_TYPES) to High(BOXED_TYPES) do begin
|
||||||
|
nativeType := TPasNativeClassType(AContainer.CreateElement(TPasNativeClassType,BOXED_TYPES[i][0],ADest.InterfaceSection,visPublic,'',0));
|
||||||
|
ADest.InterfaceSection.Declarations.Add(nativeType);
|
||||||
|
ADest.InterfaceSection.Types.Add(nativeType);
|
||||||
|
typlst[i] := nativeType;
|
||||||
|
s := BOXED_TYPES[i][1];
|
||||||
|
if not IsStrEmpty(s) then begin
|
||||||
|
syb := AContainer.FindElementInModule(BOXED_TYPES[i][1],ADest) as TPasNativeSimpleContentClassType;
|
||||||
|
if not Assigned(syb) then begin
|
||||||
|
syb := TPasNativeSimpleContentClassType(AContainer.CreateElement(TPasNativeSimpleContentClassType,s,ADest.InterfaceSection,visDefault,'',0));
|
||||||
|
ADest.InterfaceSection.Declarations.Add(syb);
|
||||||
|
ADest.InterfaceSection.Types.Add(syb);
|
||||||
|
end;
|
||||||
|
nativeType.SetExtendableType(syb);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
for i := Low(BOXED_TYPES) to High(BOXED_TYPES) do begin
|
||||||
|
nativeType := typlst[i];
|
||||||
|
if not IsStrEmpty(BOXED_TYPES[i][2]) then begin
|
||||||
|
AContainer.RegisterExternalAlias(nativeType,BOXED_TYPES[i][2]);
|
||||||
|
if ( nativeType.ExtendableType <> nil ) then begin
|
||||||
|
AContainer.RegisterExternalAlias(nativeType.ExtendableType,BOXED_TYPES[i][2]);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
RegisterSimpleTypes();
|
||||||
|
RegisterBoxedTypes();
|
||||||
|
end;
|
||||||
|
|
||||||
function CreateWstInterfaceSymbolTable(AContainer : TwstPasTreeContainer) : TPasModule;
|
function CreateWstInterfaceSymbolTable(AContainer : TwstPasTreeContainer) : TPasModule;
|
||||||
function AddClassDef(
|
function AddClassDef(
|
||||||
ATable : TPasModule;
|
ATable : TPasModule;
|
||||||
@ -325,7 +382,7 @@ begin
|
|||||||
AddAlias('float','Single',Result);
|
AddAlias('float','Single',Result);
|
||||||
AddAlias('nonNegativeInteger','LongWord',Result);
|
AddAlias('nonNegativeInteger','LongWord',Result);
|
||||||
AddAlias('positiveInteger','nonNegativeInteger',Result);
|
AddAlias('positiveInteger','nonNegativeInteger',Result);
|
||||||
AddAlias('base64Binary','string',Result);
|
//AddAlias('base64Binary','string',Result);
|
||||||
except
|
except
|
||||||
FreeAndNil(Result);
|
FreeAndNil(Result);
|
||||||
raise;
|
raise;
|
||||||
@ -908,24 +965,47 @@ end;
|
|||||||
|
|
||||||
destructor TPasNativeSimpleType.Destroy();
|
destructor TPasNativeSimpleType.Destroy();
|
||||||
begin
|
begin
|
||||||
if Assigned(FBoxedType) then begin
|
if Assigned(FExtendableType) then begin
|
||||||
FBoxedType.Release();
|
FExtendableType.Release();
|
||||||
FBoxedType := nil
|
FExtendableType := nil
|
||||||
end;
|
end;
|
||||||
inherited Destroy();
|
inherited Destroy();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasNativeSimpleType.SetBoxedType(
|
procedure TPasNativeSimpleType.SetExtendableType(
|
||||||
ABoxedType : TPasNativeSimpleContentClassType
|
AExtendableType : TPasNativeSimpleContentClassType
|
||||||
);
|
);
|
||||||
begin
|
begin
|
||||||
if ( FBoxedType <> ABoxedType ) then begin
|
if ( FExtendableType <> AExtendableType ) then begin
|
||||||
if ( FBoxedType <> nil ) then begin
|
if ( FExtendableType <> nil ) then begin
|
||||||
FBoxedType.Release();
|
FExtendableType.Release();
|
||||||
end;
|
end;
|
||||||
FBoxedType := ABoxedType;
|
FExtendableType := AExtendableType;
|
||||||
if ( FBoxedType <> nil ) then
|
if ( FExtendableType <> nil ) then
|
||||||
FBoxedType.AddRef();
|
FExtendableType.AddRef();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TPasNativeClassType }
|
||||||
|
|
||||||
|
destructor TPasNativeClassType.Destroy();
|
||||||
|
begin
|
||||||
|
if Assigned(FExtendableType) then begin
|
||||||
|
FExtendableType.Release();
|
||||||
|
FExtendableType := nil
|
||||||
|
end;
|
||||||
|
inherited Destroy();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPasNativeClassType.SetExtendableType(AExtendableType : TPasNativeSimpleContentClassType);
|
||||||
|
begin
|
||||||
|
if ( FExtendableType <> AExtendableType ) then begin
|
||||||
|
if ( FExtendableType <> nil ) then begin
|
||||||
|
FExtendableType.Release();
|
||||||
|
end;
|
||||||
|
FExtendableType := AExtendableType;
|
||||||
|
if ( FExtendableType <> nil ) then
|
||||||
|
FExtendableType.AddRef();
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -379,8 +379,11 @@ begin
|
|||||||
FBaseType := (FBaseType as TPasAliasType).DestType;
|
FBaseType := (FBaseType as TPasAliasType).DestType;
|
||||||
end;
|
end;
|
||||||
if FBaseType.InheritsFrom(TPasNativeSimpleType) then begin
|
if FBaseType.InheritsFrom(TPasNativeSimpleType) then begin
|
||||||
Assert(Assigned(TPasNativeSimpleType(FBaseType).BoxedType));
|
Assert(Assigned(TPasNativeSimpleType(FBaseType).ExtendableType));
|
||||||
FBaseType := TPasNativeSimpleType(FBaseType).BoxedType;
|
FBaseType := TPasNativeSimpleType(FBaseType).ExtendableType;
|
||||||
|
end else if FBaseType.InheritsFrom(TPasNativeClassType) then begin
|
||||||
|
if Assigned(TPasNativeClassType(FBaseType).ExtendableType) then
|
||||||
|
FBaseType := TPasNativeClassType(FBaseType).ExtendableType;
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
raise EXsdParserException.CreateFmt('"%s" was expected to be a type definition.',[locSymbol.Name]);
|
raise EXsdParserException.CreateFmt('"%s" was expected to be a type definition.',[locSymbol.Name]);
|
||||||
|
Reference in New Issue
Block a user