Document wrapped parameters handling : generation of an easy access interface

that expose simpler parameters. 
see ws_helper -y commute

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@503 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2008-07-03 16:15:03 +00:00
parent 9dac41bef0
commit e6599ad9f8
18 changed files with 1014 additions and 440 deletions

View File

@ -1,20 +1,20 @@
object formImport: TformImport
Left = 669
Height = 538
Top = 142
Left = 574
Height = 553
Top = 132
Width = 526
HorzScrollBar.Page = 525
VertScrollBar.Page = 537
VertScrollBar.Page = 552
ActiveControl = Button1
BorderStyle = bsSizeToolWin
Caption = 'WSDL Importer'
ClientHeight = 538
ClientHeight = 553
ClientWidth = 526
object Panel2: TPanel
Height = 490
Height = 505
Width = 526
Align = alClient
ClientHeight = 490
ClientHeight = 505
ClientWidth = 526
TabOrder = 1
object GroupBox1: TGroupBox
@ -46,12 +46,12 @@ object formImport: TformImport
Left = 9
Height = 23
Top = 31
Width = 400
Width = 380
Anchors = [akTop, akLeft, akRight]
TabOrder = 0
end
object Button2: TButton
Left = 427
Left = 407
Height = 25
Top = 31
Width = 40
@ -64,12 +64,12 @@ object formImport: TformImport
Left = 9
Height = 23
Top = 88
Width = 400
Width = 380
Anchors = [akTop, akLeft, akRight]
TabOrder = 2
end
object Button3: TButton
Left = 427
Left = 407
Height = 25
Top = 88
Width = 40
@ -89,16 +89,16 @@ object formImport: TformImport
end
object GroupBox2: TGroupBox
Left = 8
Height = 162
Top = 320
Height = 161
Top = 336
Width = 506
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = ' Messages '
ClientHeight = 144
ClientHeight = 143
ClientWidth = 502
TabOrder = 2
object mmoLog: TMemo
Height = 144
Height = 143
Width = 502
Align = alClient
ReadOnly = True
@ -108,12 +108,12 @@ object formImport: TformImport
end
object GroupBox3: TGroupBox
Left = 8
Height = 120
Height = 136
Top = 184
Width = 506
Anchors = [akTop, akLeft, akRight]
Caption = ' Options '
ClientHeight = 102
ClientHeight = 118
ClientWidth = 502
TabOrder = 1
object edtOptionIntf: TCheckBox
@ -162,11 +162,20 @@ object formImport: TformImport
OnClick = edtOptionIntfALLClick
TabOrder = 1
end
object edtOptionWrappedParams: TCheckBox
Left = 9
Height = 19
Top = 96
Width = 290
Anchors = [akLeft, akBottom]
Caption = 'Generate easy access interface for wrapped parameters'
TabOrder = 5
end
end
end
object Panel1: TPanel
Height = 48
Top = 490
Top = 505
Width = 526
Align = alBottom
ClientHeight = 48

View File

@ -1,65 +1,68 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TformImport','FORMDATA',[
'TPF0'#11'TformImport'#10'formImport'#4'Left'#3#157#2#6'Height'#3#26#2#3'Top'
+#3#142#0#5'Width'#3#14#2#18'HorzScrollBar.Page'#3#13#2#18'VertScrollBar.Page'
+#3#25#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7
+'Caption'#6#13'WSDL Importer'#12'ClientHeight'#3#26#2#11'ClientWidth'#3#14#2
+#0#6'TPanel'#6'Panel2'#6'Height'#3#234#1#5'Width'#3#14#2#5'Align'#7#8'alClie'
+'nt'#12'ClientHeight'#3#234#1#11'ClientWidth'#3#14#2#8'TabOrder'#2#1#0#9'TGr'
+'oupBox'#9'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#2#8#5'Width'#3#250
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'ClientHeight'#3#150#0#11
+'ClientWidth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'He'
+'ight'#2#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6'&Web Services Descripti'
+'on File ( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#9#6'H'
+'eight'#2#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11
+'ParentColor'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2#9#6'Height'#2#23#3'T'
+'op'#2#31#5'Width'#3#144#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'T'
+'abOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#171#1#6'Height'#2#25#3'Top'
+#2#31#5'Width'#2'('#6'Action'#7#11'actOpenFile'#7'Anchors'#11#5'akTop'#7'akR'
+'ight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#5'TEdit'#12'e'
+'dtOutputDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3#144#1#7'Anch'
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TButton'#7'Bu'
+'tton3'#4'Left'#3#171#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7
+#10'actOpenDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBo'
+'rder'#2#4#8'TabOrder'#2#3#0#0#9'TCheckBox'#15'edtAddToProject'#4'Left'#2#9#6
+'Height'#2#19#3'Top'#3#128#0#5'Width'#3#182#0#7'Caption'#6'"Add the generate'
+'d files to project'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'
+#2#8#6'Height'#3#162#0#3'Top'#3'@'#1#5'Width'#3#250#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#12' Messages '#12'ClientH'
+'eight'#3#144#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5'TMemo'#6'mmoLog'
+#6'Height'#3#144#0#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'ReadOnly'#9#10
+'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9'GroupBox3'#4'L'
+'eft'#2#8#6'Height'#2'x'#3'Top'#3#184#0#5'Width'#3#250#1#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#0#7'Caption'#6#11' Options '#12'ClientHeight'#2
+'f'#11'ClientWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox'#13'edtOptionIntf'
+#4'Left'#2#9#6'Height'#2#19#3'Top'#2#8#5'Width'#2'T'#7'Caption'#6#14'Interfa'
+'ce file'#7'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick'#5'State'#7#9'cbCh'
+'ecked'#8'TabOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy'#4'Left'#2#9#6'He'
+'ight'#2#19#3'Top'#2'8'#5'Width'#2'D'#7'Caption'#6#10'Proxy file'#7'Checked'
+#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox'#15'edtOptionBind'
+'er'#4'Left'#3'&'#1#6'Height'#2#19#3'Top'#2#8#5'Width'#2'o'#7'Caption'#6#19
+'Service Binder file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtOptionImp'#4'Le'
+'ft'#3'&'#1#6'Height'#2#19#3'Top'#2'8'#5'Width'#3#158#0#7'Caption'#6#28'Impl'
+'ementation Skeleton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16'edtOptionIntf'
+'ALL'#4'Left'#2#30#6'Height'#2#19#3'Top'#2' '#5'Width'#2'^'#7'Caption'#6#15
+'Parse all types'#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabOrder'#2#1#0#0
+#0#0#6'TPanel'#6'Panel1'#6'Height'#2'0'#3'Top'#3#234#1#5'Width'#3#14#2#5'Ali'
+'gn'#7#8'alBottom'#12'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2
+#0#0#7'TButton'#7'Button1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'
+#2'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpac'
+'ing.InnerBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'
+#4'Left'#3#183#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akT'
+'op'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6
+#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4
+'left'#2'h'#3'top'#3'H'#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'Disabl'
+'eIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdat'
+'e'#0#0#7'TAction'#11'actOpenFile'#7'Caption'#6#3'...'#18'DisableIfNoHandler'
+#9#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#10'actOpenDir'#7'Cap'
+'tion'#6#3'...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actOpenDirExecute'
+#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Fil'
+'ter'#6#28'WSDL Files ( *.wsdl )|*.wsdl'#11'FilterIndex'#2#0#7'Options'#11#15
+'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#16#1#3'top'
+#2' '#0#0#22'TSelectDirectoryDialog'#3'SDD'#5'Title'#6#21'Choisir un r'#233
+'pertoire'#11'FilterIndex'#2#0#4'left'#3#224#0#3'top'#3#176#0#0#0#0
'TPF0'#11'TformImport'#10'formImport'#4'Left'#3'>'#2#6'Height'#3')'#2#3'Top'#3
+#132#0#5'Width'#3#14#2#18'HorzScrollBar.Page'#3#13#2#18'VertScrollBar.Page'#3
+'('#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7'C'
+'aption'#6#13'WSDL Importer'#12'ClientHeight'#3')'#2#11'ClientWidth'#3#14#2#0
+#6'TPanel'#6'Panel2'#6'Height'#3#249#1#5'Width'#3#14#2#5'Align'#7#8'alClient'
+#12'ClientHeight'#3#249#1#11'ClientWidth'#3#14#2#8'TabOrder'#2#1#0#9'TGroupB'
+'ox'#9'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#2#8#5'Width'#3#250#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'ClientHeight'#3#150#0#11'Cli'
+'entWidth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Heigh'
+'t'#2#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6'&Web Services Description '
+'File ( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#9#6'Heig'
+'ht'#2#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11'Par'
+'entColor'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2#9#6'Height'#2#23#3'Top'
+#2#31#5'Width'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrd'
+'er'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#151#1#6'Height'#2#25#3'Top'#2#31
+#5'Width'#2'('#6'Action'#7#11'actOpenFile'#7'Anchors'#11#5'akTop'#7'akRight'
+#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#5'TEdit'#12'edtOutp'
+'utDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3'|'#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TButton'#7'Button3'#4
+'Left'#3#151#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7#10'actOp'
+'enDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4
+#8'TabOrder'#2#3#0#0#9'TCheckBox'#15'edtAddToProject'#4'Left'#2#9#6'Height'#2
+#19#3'Top'#3#128#0#5'Width'#3#182#0#7'Caption'#6'"Add the generated files to'
+' project'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'#2#8#6'Hei'
+'ght'#3#161#0#3'Top'#3'P'#1#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'
+#7'akRight'#8'akBottom'#0#7'Caption'#6#12' Messages '#12'ClientHeight'#3
+#143#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5'TMemo'#6'mmoLog'#6'Height'
+#3#143#0#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'ReadOnly'#9#10'ScrollBars'
+#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9'GroupBox3'#4'Left'#2#8#6'H'
+'eight'#3#136#0#3'Top'#3#184#0#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akL'
+'eft'#7'akRight'#0#7'Caption'#6#11' Options '#12'ClientHeight'#2'v'#11'Cli'
+'entWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox'#13'edtOptionIntf'#4'Left'#2
+#9#6'Height'#2#19#3'Top'#2#8#5'Width'#2'T'#7'Caption'#6#14'Interface file'#7
+'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick'#5'State'#7#9'cbChecked'#8'Ta'
+'bOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy'#4'Left'#2#9#6'Height'#2#19#3
+'Top'#2'8'#5'Width'#2'D'#7'Caption'#6#10'Proxy file'#7'Checked'#9#5'State'#7
+#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox'#15'edtOptionBinder'#4'Left'#3
+'&'#1#6'Height'#2#19#3'Top'#2#8#5'Width'#2'o'#7'Caption'#6#19'Service Binder'
+' file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtOptionImp'#4'Left'#3'&'#1#6'H'
+'eight'#2#19#3'Top'#2'8'#5'Width'#3#158#0#7'Caption'#6#28'Implementation Ske'
+'leton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16'edtOptionIntfALL'#4'Left'#2
+#30#6'Height'#2#19#3'Top'#2' '#5'Width'#2'^'#7'Caption'#6#15'Parse all types'
+#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#22
+'edtOptionWrappedParams'#4'Left'#2#9#6'Height'#2#19#3'Top'#2'`'#5'Width'#3'"'
+#1#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'5Generate easy access '
+'interface for wrapped parameters'#8'TabOrder'#2#5#0#0#0#0#6'TPanel'#6'Panel'
+'1'#6'Height'#2'0'#3'Top'#3#249#1#5'Width'#3#14#2#5'Align'#7#8'alBottom'#12
+'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#7'TButton'#7'Bu'
+'tton1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#6'Action'#7#5
+'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4
+#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'#4'Left'#3#183#1#6'He'
+'ight'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
+'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalR'
+'esult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#2'h'#3'top'#3
+'H'#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'On'
+'Execute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#11
+'actOpenFile'#7'Caption'#6#3'...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18
+'actOpenFileExecute'#0#0#7'TAction'#10'actOpenDir'#7'Caption'#6#3'...'#18'Di'
+'sableIfNoHandler'#9#9'OnExecute'#7#17'actOpenDirExecute'#0#0#0#11'TOpenDial'
+'og'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Filter'#6#28'WSDL Fil'
+'es ( *.wsdl )|*.wsdl'#11'FilterIndex'#2#0#7'Options'#11#15'ofFileMustExist'
+#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#16#1#3'top'#2' '#0#0#22'TSe'
+'lectDirectoryDialog'#3'SDD'#5'Title'#6#21'Choisir un r'#233'pertoire'#11'Fi'
+'lterIndex'#2#0#4'left'#3#224#0#3'top'#3#176#0#0#0#0
]);

View File

@ -13,7 +13,8 @@ type
TGenOption = (
goInterface, goInterfaceALL,
goProxy, goImp, goBinder
goProxy, goImp, goBinder,
goWrappedParameter
);
TGenOptions = set of TGenOption;
@ -38,6 +39,7 @@ type
edtOptionImp: TCheckBox;
edtInputFile: TEdit;
edtOutputDir: TEdit;
edtOptionWrappedParams : TCheckBox;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
@ -110,7 +112,8 @@ function GenerateSource(
AOptions : TSourceTypes;
const AOutputType : TOutputType;
const AOutPath : string;
const ANotifier : TOnParserMessage
const ANotifier : TOnParserMessage;
const AWrappedPrm : Boolean
) : ISourceManager;
procedure Notify(const AMsg : string);
@ -125,7 +128,9 @@ var
g : TBaseGenerator;
mg : TMetadataGenerator;
rsrcStrm : TMemoryStream;
wrappedParams : Boolean;
begin
wrappedParams := AWrappedPrm;
Result := CreateSourceManager();
rsrcStrm := nil;
mtdaFS := nil;
@ -136,6 +141,8 @@ begin
if ( ( [goInterface,goInterfaceALL] * AOptions ) <> [] ) then begin
Notify('Interface file generation...');
g := TInftGenerator.Create(ASymbolTable,Result);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
end;
@ -143,6 +150,8 @@ begin
if ( goProxy in AOptions ) then begin
Notify('Proxy file generation...');
g := TProxyGenerator.Create(ASymbolTable,Result);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
end;
@ -150,6 +159,8 @@ begin
if ( goBinder in AOptions ) then begin
Notify('Binder file generation...');
g := TBinderGenerator.Create(ASymbolTable,Result);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
end;
@ -230,6 +241,8 @@ begin
Include(Result,goBinder);
if edtOptionImp.Checked then
Include(Result,goImp);
if edtOptionWrappedParams.Checked then
Include(Result,goWrappedParameter);
end;
procedure TformImport.actOpenDirExecute(Sender: TObject);
@ -245,7 +258,7 @@ procedure TformImport.actOKUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := FileExists(edtInputFile.Text) and
DirectoryExists(edtOutputDir.Text) and
( GetOptions() <> [] );
( ( GetOptions() - [goWrappedParameter] ) <> [] );
end;
procedure TformImport.actOKExecute(Sender: TObject);
@ -254,6 +267,8 @@ var
oldCursor : TCursor;
srcMgnr : ISourceManager;
i : Integer;
genOptions : TGenOptions;
fileSet : TSourceTypes;
{$IFDEF WST_IDE}
j, c : Integer;
srcItm : ISourceStream;
@ -266,7 +281,9 @@ begin
try
tree := ParseWsdlFile(edtInputFile.Text,@ShowStatusMessage);
try
srcMgnr := GenerateSource(tree,GetOptions(),otFileSystem,IncludeTrailingPathDelimiter(edtOutputDir.Text),@ShowStatusMessage);
genOptions := GetOptions();
fileSet := genOptions - [goWrappedParameter];
srcMgnr := GenerateSource(tree,fileSet,otFileSystem,IncludeTrailingPathDelimiter(edtOutputDir.Text),@ShowStatusMessage,(goWrappedParameter in genOptions) );
ShowStatusMessage(mtInfo,'');
{$IFDEF WST_IDE}
openFlags := [];

View File

@ -79,6 +79,7 @@
<Other>
<CustomOptions Value="-dINDY_10
-dUseCThreads
-dWST_DBG
"/>
<CompilerPath Value="$(CompPath)"/>
</Other>

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="urn:calc-sample"
xmlns:s="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:calc-sample"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="urn:calc-sample">
<s:element name="ComplexStruct">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="fieldA" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="fieldB" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="fieldOperation" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ComplexResponseStruct">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="fieldA" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="fieldB" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="fieldResult" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddStruct">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="StructArg" type="tns:ComplexStruct" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddStructResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="res" type="tns:ComplexResponseStruct" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="Add">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="A" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="B" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="result" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="EmptyParamProc">
<s:complexType/>
</s:element>
<s:element name="EmptyParamProcResponse">
<s:complexType/>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="AddStructSoapIn">
<wsdl:part name="parameters" element="tns:AddStruct" />
</wsdl:message>
<wsdl:message name="AddStructSoapOut">
<wsdl:part name="parameters" element="tns:AddStructResponse" />
</wsdl:message>
<wsdl:message name="AddSoapIn">
<wsdl:part name="parameters" element="tns:Add" />
</wsdl:message>
<wsdl:message name="AddSoapOut">
<wsdl:part name="parameters" element="tns:AddResponse" />
</wsdl:message>
<wsdl:message name="EmptyParamProcSoapIn">
<wsdl:part name="parameters" element="tns:EmptyParamProc" />
</wsdl:message>
<wsdl:message name="EmptyParamProcSoapOut">
<wsdl:part name="parameters" element="tns:EmptyParamProcResponse" />
</wsdl:message>
<wsdl:portType name="ICalcServiceSoap">
<wsdl:operation name="AddStruct">
<wsdl:input message="tns:AddStructSoapIn" />
<wsdl:output message="tns:AddStructSoapOut" />
</wsdl:operation>
<wsdl:operation name="Add">
<wsdl:input message="tns:AddSoapIn" />
<wsdl:output message="tns:AddSoapOut" />
</wsdl:operation>
<wsdl:operation name="EmptyParamProc">
<wsdl:input message="tns:EmptyParamProcSoapIn" />
<wsdl:output message="tns:EmptyParamProcSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ICalcServiceSoap" type="tns:ICalcServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="AddStruct">
<soap:operation soapAction="urn:calc-sample/AddStruct" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Add">
<soap:operation soapAction="urn:calc-sample/Add" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="EmptyParamProc">
<soap:operation soapAction="urn:calc-sample/EmptyParamProc" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ICalcService">
<wsdl:port name="ICalcServiceSoap" binding="tns:ICalcServiceSoap">
<soap:address location="http://calc-sample.org/service" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@ -25,10 +25,10 @@
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="SynEdit"/>
<PackageName Value="LCL"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
<PackageName Value="SynEdit"/>
</Item2>
</RequiredPackages>
<Units Count="24">
@ -209,7 +209,8 @@
</CodeGeneration>
<Linking>
<Debugging>
<GenerateDebugInfo Value="True"/>
<UseLineInfoUnit Value="False"/>
<StripSymbols Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
<Options>

View File

@ -1,7 +1,7 @@
object frmSaveOptions: TfrmSaveOptions
Left = 404
Left = 158
Height = 322
Top = 208
Top = 379
Width = 402
HorzScrollBar.Page = 401
VertScrollBar.Page = 321
@ -60,12 +60,12 @@ object frmSaveOptions: TfrmSaveOptions
end
object GroupBox1: TGroupBox
Left = 16
Height = 137
Height = 105
Top = 80
Width = 369
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = ' File type '
ClientHeight = 119
ClientHeight = 87
ClientWidth = 365
TabOrder = 0
object edtInterface: TCheckBox
@ -79,14 +79,14 @@ object frmSaveOptions: TfrmSaveOptions
object edtProxy: TCheckBox
Left = 14
Height = 19
Top = 73
Top = 38
Width = 52
Anchors = [akLeft, akBottom]
Caption = 'Proxy'
TabOrder = 1
end
object edtImplementation: TCheckBox
Left = 235
Left = 227
Height = 19
Top = 14
Width = 97
@ -95,9 +95,9 @@ object frmSaveOptions: TfrmSaveOptions
TabOrder = 2
end
object edtBinder: TCheckBox
Left = 235
Left = 227
Height = 19
Top = 73
Top = 38
Width = 56
Anchors = [akRight, akBottom]
Caption = 'Binder'
@ -143,6 +143,15 @@ object frmSaveOptions: TfrmSaveOptions
OnClick = btnUnselectAllClick
TabOrder = 4
end
object edtWrappedParams: TCheckBox
Left = 16
Height = 19
Top = 200
Width = 290
Anchors = [akLeft, akBottom]
Caption = 'Generate easy access interface for wrapped parameters'
TabOrder = 5
end
end
object AL: TActionList
left = 144

View File

@ -1,9 +1,9 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfrmSaveOptions','FORMDATA',[
'TPF0'#15'TfrmSaveOptions'#14'frmSaveOptions'#4'Left'#3#148#1#6'Height'#3'B'#1
+#3'Top'#3#208#0#5'Width'#3#146#1#18'HorzScrollBar.Page'#3#145#1#18'VertScrol'
+'lBar.Page'#3'A'#1#13'ActiveControl'#7#12'edtInterface'#11'BorderStyle'#7#13
'TPF0'#15'TfrmSaveOptions'#14'frmSaveOptions'#4'Left'#3#158#0#6'Height'#3'B'#1
+#3'Top'#3'{'#1#5'Width'#3#146#1#18'HorzScrollBar.Page'#3#145#1#18'VertScroll'
+'Bar.Page'#3'A'#1#13'ActiveControl'#7#12'edtInterface'#11'BorderStyle'#7#13
+'bsSizeToolWin'#7'Caption'#6#23'Export file options ...'#12'ClientHeight'#3
+'B'#1#11'ClientWidth'#3#146#1#8'Position'#7#16'poMainFormCenter'#0#6'TPanel'
+#6'Panel1'#6'Height'#2'2'#3'Top'#3#16#1#5'Width'#3#146#1#5'Align'#7#8'alBott'
@ -17,31 +17,34 @@ LazarusResources.Add('TfrmSaveOptions','FORMDATA',[
+#16#1#5'Width'#3#146#1#5'Align'#7#8'alClient'#12'ClientHeight'#3#16#1#11'Cli'
+'entWidth'#3#146#1#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#4'Left'#2#16#6'Heig'
+'ht'#2#14#3'Top'#2#16#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11'Par'
+'entColor'#8#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#16#6'Height'#3#137#0#3
+'Top'#2'P'#5'Width'#3'q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akB'
+'ottom'#0#7'Caption'#6#13' File type '#12'ClientHeight'#2'w'#11'ClientWidt'
+'h'#3'm'#1#8'TabOrder'#2#0#0#9'TCheckBox'#12'edtInterface'#4'Left'#2#14#6'He'
+'ight'#2#19#3'Top'#2#16#5'Width'#2'D'#7'Caption'#6#9'Interface'#8'TabOrder'#2
+#0#0#0#9'TCheckBox'#8'edtProxy'#4'Left'#2#14#6'Height'#2#19#3'Top'#2'I'#5'Wi'
+'dth'#2'4'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#5'Proxy'#8'Tab'
+'Order'#2#1#0#0#9'TCheckBox'#17'edtImplementation'#4'Left'#3#235#0#6'Height'
+#2#19#3'Top'#2#14#5'Width'#2'a'#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Captio'
+'n'#6#14'Implementation'#8'TabOrder'#2#2#0#0#9'TCheckBox'#9'edtBinder'#4'Lef'
+'t'#3#235#0#6'Height'#2#19#3'Top'#2'I'#5'Width'#2'8'#7'Anchors'#11#7'akRight'
+#8'akBottom'#0#7'Caption'#6#6'Binder'#8'TabOrder'#2#3#0#0#0#5'TEdit'#12'edtO'
+'utputDir'#4'Left'#2#16#6'Height'#2#23#3'Top'#2'&'#5'Width'#3'P'#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1#0#0#7'TButton'#12'btnSel'
+'ectDir'#4'Left'#3'j'#1#6'Height'#2#25#3'Top'#2'$'#5'Width'#2#25#7'Anchors'
+#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'.'
+'..'#7'OnClick'#7#17'btnSelectDirClick'#8'TabOrder'#2#2#0#0#7'TButton'#12'bt'
+'nSelectAll'#4'Left'#2#16#6'Height'#2#25#3'Top'#3#233#0#5'Width'#2'd'#7'Anch'
+'ors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#10'Select All'#7'OnClick'#7#17
+'btnSelectAllClick'#8'TabOrder'#2#3#0#0#7'TButton'#14'btnUnselectAll'#4'Left'
+#3#0#1#6'Height'#2#25#3'Top'#3#233#0#5'Width'#2'd'#7'Anchors'#11#7'akRight'#8
+'akBottom'#0#7'Caption'#6#12'Unselect All'#7'OnClick'#7#19'btnUnselectAllCli'
+'ck'#8'TabOrder'#2#4#0#0#0#11'TActionList'#2'AL'#4'left'#3#144#0#3'top'#3#128
+#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExe'
+'cute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#22'TSelectDire'
+'ctoryDialog'#2'SD'#5'Title'#6#21'Choisir un r'#233'pertoire'#11'FilterIndex'
+#2#0#4'left'#2'e'#3'top'#3#142#0#0#0#0
+'entColor'#8#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#16#6'Height'#2'i'#3'Top'
+#2'P'#5'Width'#3'q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+#0#7'Caption'#6#13' File type '#12'ClientHeight'#2'W'#11'ClientWidth'#3'm'
+#1#8'TabOrder'#2#0#0#9'TCheckBox'#12'edtInterface'#4'Left'#2#14#6'Height'#2
+#19#3'Top'#2#16#5'Width'#2'D'#7'Caption'#6#9'Interface'#8'TabOrder'#2#0#0#0#9
+'TCheckBox'#8'edtProxy'#4'Left'#2#14#6'Height'#2#19#3'Top'#2'&'#5'Width'#2'4'
+#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#5'Proxy'#8'TabOrder'#2#1
+#0#0#9'TCheckBox'#17'edtImplementation'#4'Left'#3#227#0#6'Height'#2#19#3'Top'
+#2#14#5'Width'#2'a'#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Caption'#6#14'Impl'
+'ementation'#8'TabOrder'#2#2#0#0#9'TCheckBox'#9'edtBinder'#4'Left'#3#227#0#6
+'Height'#2#19#3'Top'#2'&'#5'Width'#2'8'#7'Anchors'#11#7'akRight'#8'akBottom'
+#0#7'Caption'#6#6'Binder'#8'TabOrder'#2#3#0#0#0#5'TEdit'#12'edtOutputDir'#4
+'Left'#2#16#6'Height'#2#23#3'Top'#2'&'#5'Width'#3'P'#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1#0#0#7'TButton'#12'btnSelectDir'#4'Le'
+'ft'#3'j'#1#6'Height'#2#25#3'Top'#2'$'#5'Width'#2#25#7'Anchors'#11#5'akTop'#7
+'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'
+#7#17'btnSelectDirClick'#8'TabOrder'#2#2#0#0#7'TButton'#12'btnSelectAll'#4'L'
+'eft'#2#16#6'Height'#2#25#3'Top'#3#233#0#5'Width'#2'd'#7'Anchors'#11#6'akLef'
+'t'#8'akBottom'#0#7'Caption'#6#10'Select All'#7'OnClick'#7#17'btnSelectAllCl'
+'ick'#8'TabOrder'#2#3#0#0#7'TButton'#14'btnUnselectAll'#4'Left'#3#0#1#6'Heig'
+'ht'#2#25#3'Top'#3#233#0#5'Width'#2'd'#7'Anchors'#11#7'akRight'#8'akBottom'#0
+#7'Caption'#6#12'Unselect All'#7'OnClick'#7#19'btnUnselectAllClick'#8'TabOrd'
+'er'#2#4#0#0#9'TCheckBox'#16'edtWrappedParams'#4'Left'#2#16#6'Height'#2#19#3
+'Top'#3#200#0#5'Width'#3'"'#1#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Captio'
+'n'#6'5Generate easy access interface for wrapped parameters'#8'TabOrder'#2#5
+#0#0#0#11'TActionList'#2'AL'#4'left'#3#144#0#3'top'#3#128#0#0#7'TAction'#5'a'
+'ctOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKEx'
+'ecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#22'TSelectDirectoryDialog'#2'SD'
+#5'Title'#6#21'Choisir un r'#233'pertoire'#11'FilterIndex'#2#0#4'left'#2'e'#3
+'top'#3#142#0#0#0#0
]);

View File

@ -25,6 +25,7 @@ type
edtImplementation : TCheckBox;
edtBinder : TCheckBox;
edtOutputDir : TEdit;
edtWrappedParams : TCheckBox;
GroupBox1 : TGroupBox;
Label1 : TLabel;
Panel1 : TPanel;
@ -82,6 +83,7 @@ begin
edtImplementation.Checked := edtBinder.Checked;
edtInterface.Checked := edtBinder.Checked;
edtProxy.Checked := edtBinder.Checked;
edtWrappedParams.Checked := edtBinder.Checked;
end;

View File

@ -1,7 +1,7 @@
object fInterfaceEdit: TfInterfaceEdit
Left = 340
Left = 361
Height = 564
Top = 122
Top = 373
Width = 531
HorzScrollBar.Page = 530
VertScrollBar.Page = 563

View File

@ -1,14 +1,14 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfInterfaceEdit','FORMDATA',[
'TPF0'#15'TfInterfaceEdit'#14'fInterfaceEdit'#4'Left'#3'T'#1#6'Height'#3'4'#2
+#3'Top'#2'z'#5'Width'#3#19#2#18'HorzScrollBar.Page'#3#18#2#18'VertScrollBar.'
+'Page'#3'3'#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeTool'
+'Win'#7'Caption'#6#14'fInterfaceEdit'#12'ClientHeight'#3'4'#2#11'ClientWidth'
+#3#19#2#8'OnCreate'#7#10'FormCreate'#8'Position'#7#15'poDesktopCenter'#0#6'T'
+'Panel'#6'Panel1'#6'Height'#2'2'#3'Top'#3#2#2#5'Width'#3#19#2#5'Align'#7#8'a'
+'lBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3#19#2#8'TabOrder'#2#0#0#7'T'
+'Button'#7'Button1'#4'Left'#3#180#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'
'TPF0'#15'TfInterfaceEdit'#14'fInterfaceEdit'#4'Left'#3'i'#1#6'Height'#3'4'#2
+#3'Top'#3'u'#1#5'Width'#3#19#2#18'HorzScrollBar.Page'#3#18#2#18'VertScrollBa'
+'r.Page'#3'3'#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeTo'
+'olWin'#7'Caption'#6#14'fInterfaceEdit'#12'ClientHeight'#3'4'#2#11'ClientWid'
+'th'#3#19#2#8'OnCreate'#7#10'FormCreate'#8'Position'#7#15'poDesktopCenter'#0
+#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3#2#2#5'Width'#3#19#2#5'Align'#7#8
+'alBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3#19#2#8'TabOrder'#2#0#0#7
+'TButton'#7'Button1'#4'Left'#3#180#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Can'
+'cel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TBu'
+'tton'#7'Button2'#4'Left'#3'Z'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6

View File

@ -78,9 +78,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -405,6 +407,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsWSDL: TTabSheet
@ -422,7 +425,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 54
BookMarkOptions.OnChange = nil
Gutter.ShowLineNumbers = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
Keystrokes = <
@ -747,6 +752,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsProxy: TTabSheet
@ -764,11 +770,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -1093,7 +1097,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsImp: TTabSheet
@ -1111,11 +1114,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -1440,7 +1441,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsBinder: TTabSheet
@ -1458,12 +1458,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.AutoSize = True
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -1788,7 +1786,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsLog: TTabSheet

View File

@ -22,114 +22,66 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'='#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'
+'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'
+'nt'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter'
+'.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#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
+'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'#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_C'
+'HARSET'#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'Po'
+'pupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'6'#22'Gutter.ShowLi'
+'neNumbers'#9#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSy'
+'n1'#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'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#0#0#0#9'TTabSheet'#7'tsProxy'#7'Caption'#6#6'&Proxy'#0#8
+'TSynEdit'#8'srcProxy'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClie'
+'nt'#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'Par'
+'entColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOption'
+'s.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'#13#17'Gutter.DigitCount'#2#5#22
+'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'
+#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Key'
+'strokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCu'
+'t'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'Shor'
+'tCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'S'
+'hortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'Sh'
+'ortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'Sh'
+'ortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'Sh'
,'ortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8
+'pMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions'
+'.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gut'
+'ter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2
+#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'Sh'
+'ortCut'#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'S'
+'hortCut'#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'S'
+'hortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'S'
+'hortCut'#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#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'
@ -165,26 +117,25 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+#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'#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_C'
+'HARSET'#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'Po'
+'pupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptio'
+'ns.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'G'
+'utter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.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#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
+#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
@ -193,7 +144,7 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'\'#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'
+#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
@ -215,16 +166,64 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'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'#8'tsBinder'#7'Caption'#6#7'&Binder'#0#8'TSynEd'
+'it'#9'srcBinder'#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'#24'BookMarkOptions.OnChange'#13#15'Gutter.AutoSize'#9#17'Gutter.DigitC'
+'ount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15'Gutt'
+'er.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPa'
+'sSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2
+#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#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
+'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'#8'tsBinder'#7'Caption'#6#7'&Binder'#0#8'TSynEdit'#9'srcBinder'#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'#15'Gutter.Auto'
+'Size'#9#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.Sh'
+'owCodeFolding'#9#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynP'
+'asSyn1'#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
@ -257,8 +256,8 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'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
+#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
@ -266,126 +265,125 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+#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'#5'tsLog'
+#7'Caption'#6#4'&Log'#0#5'TMemo'#6'mmoLog'#6'Height'#3'='#2#5'Width'#3#245#1
+#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#0#0#10'ScrollBars'#7#6'ssBoth'
+#8'TabOrder'#2#0#0#0#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3':'#1#6'Height'
+#3'Y'#2#5'Width'#2#8#5'Color'#7#7'clBlack'#11'ParentColor'#8#0#0#9'TMainMenu'
+#9'MainMenu1'#4'left'#3'`'#1#3'top'#2'p'#0#9'TMenuItem'#9'MenuItem1'#7'Capti'
+'on'#6#6'&Files'#0#9'TMenuItem'#10'MenuItem16'#6'Action'#7#10'actNewFile'#7
+'OnClick'#7#17'actNewFileExecute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6
+#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7
+#18'actOpenFileExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#9'actExpor'
+'t'#7'OnClick'#7#16'actExportExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'
+#7#7'actSave'#7'OnClick'#7#14'actSaveExecute'#0#0#9'TMenuItem'#10'MenuItem32'
+#6'Action'#7#9'actSaveAs'#7'OnClick'#7#16'actSaveAsExecute'#0#0#9'TMenuItem'
+#10'MenuItem17'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7
+'actExit'#7'OnClick'#7#14'actExitExecute'#0#0#0#9'TMenuItem'#10'MenuItem14'#7
+'Caption'#6#5'&View'#0#9'TMenuItem'#10'MenuItem15'#6'Action'#7#14'actRefresh'
+'View'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem50'
+#6'Action'#7#9'actSearch'#7'OnClick'#7#16'actSearchExecute'#0#0#9'TMenuItem'
+#10'MenuItem29'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem30'#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'actFullCollapse'
+'Execute'#0#0#0#9'TMenuItem'#10'MenuItem10'#7'Caption'#6#8'&Edition'#0#9'TMe'
+'nuItem'#10'MenuItem11'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnu'
+'mCreateExecute'#0#0#9'TMenuItem'#10'MenuItem23'#6'Action'#7#17'actCompoundC'
+'reate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuIt'
+'em48'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecut'
+'e'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'actIntfCreate'#7'OnClick'
+#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem35'#6'Action'#7#14'a'
+'ctArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'M'
+'enuItem36'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasC'
+'reateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Caption'#6#1'-'#0#0#9'TMenu'
+'Item'#10'MenuItem13'#6'Action'#7#15'actUpdateObject'#7'Caption'#6#13'Update'
+' Object'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuIt'
+'em34'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#9'TM'
+'enuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'#7'OnCl'
+'ick'#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'DisableIfNoH'
+'andler'#9#9'OnExecute'#7#18'actOpenFileExecute'#8'ShortCut'#3'O@'#0#0#7'TAc'
+'tion'#7'actExit'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'
+#7#14'actExitExecute'#8'ShortCut'#3's@'#0#0#7'TAction'#9'actExport'#7'Captio'
+'n'#6#24'Save generated files ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16
+'actExportExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbo'
+'ut'#7'Caption'#6#5'About'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAbo'
+'utExecute'#0#0#7'TAction'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18'Disa'
+'bleIfNoHandler'#9#9'OnExecute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actE'
+'xportUpdate'#0#0#7'TAction'#13'actEnumCreate'#7'Caption'#6#18'Create Enumer'
+'ation'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#20'actEnumCreat'
+'eExecute'#0#0#7'TAction'#15'actUpdateObject'#7'Caption'#6#6'Update'#18'Disa'
+'bleIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#22'actUpdateObjectExecute'#8
+'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actRefreshView'#7'C'
+'aption'#6#14'&Refresh Views'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExec'
+'ute'#7#21'actRefreshViewExecute'#8'ShortCut'#2't'#0#0#7'TAction'#10'actNewF'
+'ile'#7'Caption'#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'ac'
+'tNewFileExecute'#8'ShortCut'#3'N@'#0#0#7'TAction'#17'actCompoundCreate'#7'C'
+'aption'#6#17'Create Class Type'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnE'
,'xecute'#7#24'actCompoundCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7'C'
+'aption'#6#16'Create Interface'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnEx'
+'ecute'#7#20'actIntfCreateExecute'#0#0#7'TAction'#13'actFullExpand'#7'Captio'
+'n'#6#11'Full expand'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#20
+'actFullExpandExecute'#0#0#7'TAction'#15'actFullCollapse'#7'Caption'#6#13'Fu'
+'ll Collapse'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#22'actFul'
+'lCollapseExecute'#0#0#7'TAction'#7'actSave'#7'Caption'#6#4'Save'#18'Disable'
+'IfNoHandler'#9#9'OnExecute'#7#14'actSaveExecute'#8'ShortCut'#3'S@'#0#0#7'TA'
+'ction'#9'actDelete'#7'Caption'#6#6'Delete'#18'DisableIfNoHandler'#9#7'Enabl'
+'ed'#8#9'OnExecute'#7#16'actDeleteExecute'#8'OnUpdate'#7#21'actUpdateObjectU'
+'pdate'#0#0#7'TAction'#14'actArrayCreate'#7'Caption'#6#12'Create Array'#18'D'
+'isableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#21'actArrayCreateExecute'#0
+#0#7'TAction'#18'actTypeALiasCreate'#7'Caption'#6#17'Create Type ALias'#18'D'
+'isableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#25'actTypeALiasCreateExecu'
+'te'#0#0#7'TAction'#15'actRecordCreate'#7'Caption'#6#13'Create Record'#18'Di'
+'sableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#22'actRecordCreateExecute'#0
+#0#7'TAction'#9'actSearch'#7'Caption'#6#6'Search'#18'DisableIfNoHandler'#9#9
+'OnExecute'#7#16'actSearchExecute'#8'OnUpdate'#7#15'actSearchUpdate'#8'Short'
+'Cut'#3'F@'#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier exis'
+'tant'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'#11
+'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15
+'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'to'
+'p'#2'X'#0#0#10'TSynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Fore'
+'ground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#22'StringAttri.Fo'
+'reground'#7#8'clMaroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'DirectiveAt'
+'tri.Foreground'#7#7'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'Nes'
+'tedComments'#9#4'left'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'#2'SD'#5'Titl'
+'e'#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'ofPathMu'
+'stExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top'#3#176
+#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#152#0#0#9'TMen'
+'uItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFull'
+'ExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCollap'
+'se'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuItem39'
+#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9
+'TMenuItem'#10'MenuItem26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6
+'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMe'
+'nuItem'#10'MenuItem21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'ac'
+'tCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7#15'actR'
+'ecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'Me'
+'nuItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecut'
+'e'#0#0#9'TMenuItem'#10'MenuItem37'#6'Action'#7#14'actArrayCreate'#7'OnClick'
+#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'#7#18
+'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuI'
+'tem'#10'MenuItem22'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Actio'
+'n'#7#15'actUpdateObject'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMen'
+'uItem'#10'MenuItem33'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExe'
+'cute'#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'ac'
+'tRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem49'#6'Action'#7#9'actSearc'
+'h'#7'OnClick'#7#16'actSearchExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Capt'
+'ion'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnCl'
+'ick'#7#16'actExportExecute'#0#0#9'TMenuItem'#10'MenuItem40'#7'Caption'#6#1
+'-'#0#0#9'TMenuItem'#10'MenuItem41'#6'Action'#7#14'actArrayCreate'#7'OnClick'
+#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem45'#6'Action'#7#17
+'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuIte'
+'m'#10'MenuItem47'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecord'
+'CreateExecute'#0#0#9'TMenuItem'#10'MenuItem44'#6'Action'#7#13'actEnumCreate'
+#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Act'
+'ion'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuI'
+'tem'#10'MenuItem42'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actT'
+'ypeALiasCreateExecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'
+#6#30'Documents WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foregroun'
+'d'#7#6'clNavy'#30'AttributeValueAttri.Foreground'#7#8'clPurple'#16'WantBrac'
,'esParsed'#8#4'left'#3#210#1#3'top'#3#252#0#0#0#11'TFindDialog'#2'FD'#6'OnSh'
+'ow'#7#6'FDShow'#5'Title'#6#6'Search'#6'OnFind'#7#6'FDFind'#4'left'#3'@'#2#3
+'top'#3#143#0#0#0#0
+#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#5'tsLog'#7'Caption'#6#4'&Log'#0#5'TMem'
+'o'#6'mmoLog'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#13'Li'
+'nes.Strings'#1#6#0#0#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#9
+'TSplitter'#9'Splitter1'#4'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8#5'Colo'
+'r'#7#7'clBlack'#11'ParentColor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3'`'
+#1#3'top'#2'p'#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9'TMenuI'
+'tem'#10'MenuItem16'#6'Action'#7#10'actNewFile'#7'OnClick'#7#17'actNewFileEx'
+'ecute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'M'
+'enuItem5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7#18'actOpenFileExecute'#0
+#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExp'
+'ortExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#7'actSave'#7'OnClick'
+#7#14'actSaveExecute'#0#0#9'TMenuItem'#10'MenuItem32'#6'Action'#7#9'actSaveA'
+'s'#7'OnClick'#7#16'actSaveAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'#7'Capt'
+'ion'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7'actExit'#7'OnClick'
+#7#14'actExitExecute'#0#0#0#9'TMenuItem'#10'MenuItem14'#7'Caption'#6#5'&View'
+#0#9'TMenuItem'#10'MenuItem15'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21
+'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem50'#6'Action'#7#9'actSea'
+'rch'#7'OnClick'#7#16'actSearchExecute'#0#0#9'TMenuItem'#10'MenuItem29'#7'Ca'
+'ption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem30'#6'Action'#7#13'actFullExpand'
+#7'OnClick'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Act'
+'ion'#7#15'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#0#9
+'TMenuItem'#10'MenuItem10'#7'Caption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuIt'
+'em11'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0
+#0#9'TMenuItem'#10'MenuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7
+#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem48'#6'Action'#7#15
+'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10
+'MenuItem25'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExec'
+'ute'#0#0#9'TMenuItem'#10'MenuItem35'#6'Action'#7#14'actArrayCreate'#7'OnCli'
+'ck'#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem36'#6'Action'#7
+#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMe'
+'nuItem'#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'actDe'
+'lete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'#6'A'
+'ction'#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'actO'
+'penFile'#7'Caption'#6#9'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'#7
+#18'actOpenFileExecute'#8'ShortCut'#3'O@'#0#0#7'TAction'#7'actExit'#7'Captio'
+'n'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitExecute'#8'S'
+'hortCut'#3's@'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save generated f'
+'iles ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportExecute'#8'On'
+'Update'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'Abo'
+'ut'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TActi'
+'on'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfNoHandler'#9#9'On'
+'Execute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAc'
+'tion'#13'actEnumCreate'#7'Caption'#6#18'Create Enumeration'#18'DisableIfNoH'
+'andler'#9#7'Enabled'#8#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TActio'
+'n'#15'actUpdateObject'#7'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#7'En'
+'abled'#8#9'OnExecute'#7#22'actUpdateObjectExecute'#8'OnUpdate'#7#21'actUpda'
+'teObjectUpdate'#0#0#7'TAction'#14'actRefreshView'#7'Caption'#6#14'&Refresh '
+'Views'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#21'actRefreshVi'
+'ewExecute'#8'ShortCut'#2't'#0#0#7'TAction'#10'actNewFile'#7'Caption'#6#8'Ne'
+'w File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actNewFileExecute'#8'Sho'
+'rtCut'#3'N@'#0#0#7'TAction'#17'actCompoundCreate'#7'Caption'#6#17'Create Cl'
+'ass Type'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#24'actCompou'
+'ndCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7'Caption'#6#16'Create In'
,'terface'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#20'actIntfCre'
+'ateExecute'#0#0#7'TAction'#13'actFullExpand'#7'Caption'#6#11'Full expand'#18
+'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#20'actFullExpandExecute'#0
+#0#7'TAction'#15'actFullCollapse'#7'Caption'#6#13'Full Collapse'#18'DisableI'
+'fNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7
+'TAction'#7'actSave'#7'Caption'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecu'
+'te'#7#14'actSaveExecute'#8'ShortCut'#3'S@'#0#0#7'TAction'#9'actDelete'#7'Ca'
+'ption'#6#6'Delete'#18'DisableIfNoHandler'#9#7'Enabled'#8#9'OnExecute'#7#16
+'actDeleteExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14
+'actArrayCreate'#7'Caption'#6#12'Create Array'#18'DisableIfNoHandler'#9#7'En'
+'abled'#8#9'OnExecute'#7#21'actArrayCreateExecute'#0#0#7'TAction'#18'actType'
+'ALiasCreate'#7'Caption'#6#17'Create Type ALias'#18'DisableIfNoHandler'#9#7
+'Enabled'#8#9'OnExecute'#7#25'actTypeALiasCreateExecute'#0#0#7'TAction'#15'a'
+'ctRecordCreate'#7'Caption'#6#13'Create Record'#18'DisableIfNoHandler'#9#7'E'
+'nabled'#8#9'OnExecute'#7#22'actRecordCreateExecute'#0#0#7'TAction'#9'actSea'
+'rch'#7'Caption'#6#6'Search'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actS'
+'earchExecute'#8'OnUpdate'#7#15'actSearchUpdate'#8'ShortCut'#3'F@'#0#0#0#11
+'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Filter'#6'3W'
+'DSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'#11'FilterIndex'#2#0#10
+'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'#14
+'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TSynP'
+'asSyn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'
+#18'CommentAttri.Style'#11#6'fsBold'#0#22'StringAttri.Foreground'#7#8'clMaro'
+'on'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'DirectiveAttri.Foreground'#7#7
+'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'NestedComments'#9#4'lef'
+'t'#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'ofEnable'
+'Sizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top'#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'T'
+'MenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7#22'ac'
+'tFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuItem39'#6'Action'#7#14'actRef'
+'reshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuIt'
+'em26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnu'
+'mCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem'
+'21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExec'
+'ute'#0#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7#15'actRecordCreate'#7'OnCl'
+'ick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'
+#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'
+#10'MenuItem37'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreat'
+'eExecute'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'#7#18'actTypeALiasCreate'
+#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7
+'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObjec'
+'t'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem33'#6
+'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#10'TPopupMen'
+'u'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0#0#9'TMenuItem'#10'MenuItem1'
+'8'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0
+#9'TMenuItem'#10'MenuItem49'#6'Action'#7#9'actSearch'#7'OnClick'#7#16'actSea'
+'rchExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
+'em'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecut'
+'e'#0#0#9'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'Me'
+'nuItem41'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExec'
+'ute'#0#0#9'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCreate'#7'On'
+'Click'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem47'#6'Act'
+'ion'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TM'
+'enuItem'#10'MenuItem44'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEn'
+'umCreateExecute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Action'#7#13'actIntfCrea'
+'te'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem42'#6
+'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'
+#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Documents WSDL ('
+'*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNavy'#30'Att'
+'ributeValueAttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'left'#3
+#210#1#3'top'#3#252#0#0#0#11'TFindDialog'#2'FD'#6'OnShow'#7#6'FDShow'#5'Titl'
,'e'#6#6'Search'#6'OnFind'#7#6'FDFind'#4'left'#3'@'#2#3'top'#3#143#0#0#0#0
]);

View File

@ -716,7 +716,9 @@ begin
Include(saveOpts,cloImp);
if f.edtProxy.Checked then
Include(saveOpts,cloProxy);
if f.edtWrappedParams.Checked then
Include(saveOpts,cloHandleWrappedParameters);
curLok := SetCursorHourGlass();
GenerateSource(
FSymbolTable,

View File

@ -28,7 +28,7 @@ Type
TComandLineOption = (
cloInterface, cloProxy, cloImp, cloBinder, cloWsdl, cloXsd,
cloOutPutDirRelative, cloOutPutDirAbsolute
cloOutPutDirRelative, cloOutPutDirAbsolute, cloHandleWrappedParameters
);
TComandLineOptions = set of TComandLineOption;
@ -53,7 +53,7 @@ begin
AAppOptions := [];
c := #0;
repeat
c := GetOpt('u:pibo:a:wx');
c := GetOpt('u:pibo:a:wxy');
case c of
'u' :
begin
@ -75,6 +75,7 @@ begin
End;
'w' : Include(AAppOptions,cloWsdl);
'x' : Include(AAppOptions,cloXsd);
'y' : Include(AAppOptions,cloHandleWrappedParameters);
end;
until ( c = EndOfOptions );
Result := OptInd;

View File

@ -32,9 +32,13 @@ const
type
TGeneratorOption = ( goDocumentWrappedParameter );
TGeneratorOptions = set of TGeneratorOption;
{ TBaseGenerator }
TBaseGenerator = class
FOptions : TGeneratorOptions;
Private
FSrcMngr : ISourceManager;
FCurrentStream : ISourceStream;
@ -61,6 +65,7 @@ type
procedure Execute();virtual;abstract;
property SymbolTable : TwstPasTreeContainer Read FSymbolTable;
property SrcMngr : ISourceManager Read FSrcMngr;
property Options : TGeneratorOptions read FOptions write FOptions;
End;
{ TProxyGenerator }
@ -77,8 +82,8 @@ type
procedure GenerateUnitImplementationHeader();
procedure GenerateUnitImplementationFooter();
procedure GenerateProxyIntf(AIntf : TPasClassType);
procedure GenerateProxyImp(AIntf : TPasClassType);
procedure GenerateProxyIntf(AIntf, AEasyIntf : TPasClassType; ABinding : TwstBinding);
procedure GenerateProxyImp(AIntf, AEasyIntf : TPasClassType; ABinding : TwstBinding);
function GetDestUnitName():string;
Public
@ -185,9 +190,121 @@ Const sPROXY_BASE_CLASS = 'TBaseProxy';
sNAME_SPACE = 'sNAME_SPACE';
sUNIT_NAME = 'sUNIT_NAME';
sRECORD_RTTI_DEFINE = 'WST_RECORD_RTTI';
sEASY_ACCESS_INTERFACE_PREFIX = 'Easy';
sPRM_NAME = 'strPrmName';
sLOC_SERIALIZER = 'locSerializer';
sINPUT_PARAM = 'inputParam';
sOUTPUT_PARAM = 'outputParam';
sTEMP_OBJ = 'tmpObj';
function DeduceEasyInterfaceForDocStyle(
const ARawInt : TPasClassType;
const AContainer : TwstPasTreeContainer
): TPasClassType;
procedure HandleProc(const AIntf : TPasClassType; const AMethod : TPasProcedure);
var
locMethod : TPasProcedure;
locProcType : TPasProcedureType;
locElt : TPasElement;
locRawInParam, locRawOutParam : TPasClassType;
k, q : PtrInt;
locProp, locResProp : TPasProperty;
locArg : TPasArgument;
locIsFunction : Boolean;
begin
if ( AMethod.ProcType.Args.Count < 1 ) then
raise Exception.CreateFmt('Invalid "Document style" method, one parameter expected : %s.%s.',[AIntf.Name,AMethod.Name]);
locElt := TPasArgument(AMethod.ProcType.Args[0]).ArgType;
if locElt.InheritsFrom(TPasUnresolvedTypeRef) then
locElt := AContainer.FindElement(locElt.Name);
if ( locElt = nil ) then
raise Exception.CreateFmt('Invalid "Document style" method, class type parameter expected, nil founded : %s.%s.',[AIntf.Name,AMethod.Name]);
if ( not locElt.InheritsFrom(TPasClassType) ) then
raise Exception.CreateFmt('Invalid "Document style" method, class type parameter expected : %s.%s => %s',[AIntf.Name,AMethod.Name,locElt.ElementTypeName]);
locRawInParam := TPasClassType(locElt);
locIsFunction := False;
if AMethod.InheritsFrom(TPasFunction) then begin
locElt := TPasFunctionType(AMethod.ProcType).ResultEl.ResultType;
if locElt.InheritsFrom(TPasUnresolvedTypeRef) then
locElt := AContainer.FindElement(locElt.Name);
if ( locElt = nil ) or ( not locElt.InheritsFrom(TPasClassType) ) then
raise Exception.CreateFmt('Invalid "Document style" method, class type result expected : %s.%s.',[AIntf.Name,AMethod.Name]);
locRawOutParam := TPasClassType(locElt);
q := locRawOutParam.Members.Count;
if ( q > 0 ) then begin
for k := 0 to ( q - 1 ) do begin
if TPasElement(locRawOutParam.Members[k]).InheritsFrom(TPasProperty) then begin
locProp := TPasProperty(locRawOutParam.Members[k]);
if ( locProp.Visibility = visPublished ) then begin
locResProp := locProp;
locIsFunction := True;
Break;
end;
end;
end;
end;
end;
if locIsFunction then begin
locMethod := TPasFunction(AContainer.CreateElement(TPasFunction,AMethod.Name,AIntf,'',0));
locMethod.ProcType := TPasFunctionType(AContainer.CreateElement(TPasFunctionType,AMethod.ProcType.Name,locMethod,'',0));
end else begin
locMethod := TPasProcedure(AContainer.CreateElement(TPasProcedure,AMethod.Name,AIntf,'',0));
locMethod.ProcType := TPasProcedureType(AContainer.CreateElement(TPasProcedureType,AMethod.ProcType.Name,locMethod,'',0));
end;
AIntf.Members.Add(locMethod);
q := locRawInParam.Members.Count;
locProcType := locMethod.ProcType;
if ( q > 0 ) then begin
for k := 0 to ( q - 1 ) do begin
locElt := TPasElement(locRawInParam.Members[k]);
if locElt.InheritsFrom(TPasProperty) then begin
locProp := TPasProperty(locElt);
if ( locProp.Visibility = visPublished ) then begin
locArg := TPasArgument(AContainer.CreateElement(TPasArgument,locProp.Name,locProcType,'',0));
locArg.ArgType := locProp.VarType;
locArg.ArgType.AddRef();
locArg.Access := argConst;
locProcType.Args.Add(locArg);
end;
end;
end;
end;
if locIsFunction then begin
TPasFunctionType(locProcType).ResultEl := TPasResultElement(AContainer.CreateElement(TPasResultElement,'Result',locProcType,'',0));
TPasFunctionType(locProcType).ResultEl.ResultType := locResProp.VarType; locResProp.VarType.AddRef();
end;
end;
var
locRes : TPasClassType;
i, c : PtrInt;
g : TGuid;
e : TPasElement;
begin
if ( ARawInt.ObjKind <> okInterface ) then
raise Exception.CreateFmt('Interface expected : "%s".',[ARawInt.Name]);
locRes := TPasClassType(AContainer.CreateElement(TPasClassType,Format('%s%s',[ARawInt.Name,sEASY_ACCESS_INTERFACE_PREFIX]),nil,'',0));
try
locRes.ObjKind := okInterface;
if ( CreateGUID(g) = 0 ) then
locRes.InterfaceGUID := GUIDToString(g);
c := ARawInt.Members.Count;
if ( c > 0 ) then begin
for i := 0 to ( c - 1 ) do begin
e := TPasElement(ARawInt.Members[i]);
if e.InheritsFrom(TPasProcedure) then
HandleProc(locRes,TPasProcedure(e));
end;
end;
except
FreeAndNil(locRes);
raise;
end;
Result := locRes;
end;
{ TProxyGenerator }
@ -258,17 +375,37 @@ Var
intf : TPasClassType;
elt : TPasElement;
ls : TList;
binding : TwstBinding;
intfEasy : TPasClassType;
HandleEasyIntf : Boolean;
begin
HandleEasyIntf := ( goDocumentWrappedParameter in Self.Options );
GenerateUnitHeader();
GenerateUnitImplementationHeader();
ls := SymbolTable.CurrentModule.InterfaceSection.Declarations;
c := Pred(ls.Count);
for i := 0 to c do begin
elt := TPasElement(ls[i]);
if ( elt is TPasClassType ) and ( TPasClassType(elt).ObjKind = okInterface ) then begin
intf := elt as TPasClassType;
GenerateProxyIntf(intf);
GenerateProxyImp(intf);
if HandleEasyIntf then begin
for i := 0 to c do begin
elt := TPasElement(ls[i]);
if ( elt is TPasClassType ) and ( TPasClassType(elt).ObjKind = okInterface ) then begin
intf := elt as TPasClassType;
binding := SymbolTable.FindBinding(intf);
intfEasy := nil;
if ( binding.BindingStyle = bsDocument ) then begin
intfEasy := DeduceEasyInterfaceForDocStyle(intf,SymbolTable);
end;
GenerateProxyIntf(intf,intfEasy,binding);
GenerateProxyImp(intf,intfEasy,binding);
end;
end;
end else begin
for i := 0 to c do begin
elt := TPasElement(ls[i]);
if ( elt is TPasClassType ) and ( TPasClassType(elt).ObjKind = okInterface ) then begin
intf := elt as TPasClassType;
GenerateProxyIntf(intf,nil,binding);
GenerateProxyImp(intf,nil,binding);
end;
end;
end;
GenerateUnitImplementationFooter();
@ -282,17 +419,29 @@ begin
Result := Format('%s_proxy',[SymbolTable.CurrentModule.Name]);
end;
procedure TProxyGenerator.GenerateProxyIntf(AIntf: TPasClassType);
procedure TProxyGenerator.GenerateProxyIntf(AIntf, AEasyIntf : TPasClassType; ABinding : TwstBinding);
var
HandleEasyIntf : boolean;
procedure WriteDec();
begin
Indent();
WriteLn('%s=class(%s,%s)',[GenerateClassName(AIntf),sPROXY_BASE_CLASS,AIntf.Name]);
Write('%s=class(%s,%s',[GenerateClassName(AIntf),sPROXY_BASE_CLASS,AIntf.Name]);
if HandleEasyIntf then
Write(',%s',[AEasyIntf.Name]);
WriteLn(')');
FDecProcStream.IncIndent();
try
FDecProcStream.NewLine();
FDecProcStream.Indent();
FDecProcStream.WriteLn('Function wst_CreateInstance_%s(const AFormat : string = %s; const ATransport : string = %s):%s;',[AIntf.Name,QuotedStr('SOAP:'),QuotedStr('HTTP:'),AIntf.Name]);
if HandleEasyIntf then begin
FDecProcStream.Indent();
FDecProcStream.WriteLn(
'Function wst_CreateInstance_%s%s(const AFormat : string = %s; const ATransport : string = %s):%s%s;',
[AIntf.Name,sEASY_ACCESS_INTERFACE_PREFIX,QuotedStr('SOAP:'),QuotedStr('HTTP:'),AIntf.Name,sEASY_ACCESS_INTERFACE_PREFIX]
);
end;
finally
FDecProcStream.DecIndent();
end;
@ -333,7 +482,10 @@ procedure TProxyGenerator.GenerateProxyIntf(AIntf: TPasClassType);
if AMthd.InheritsFrom(TPasFunction) then begin
Write(':%s',[TPasFunctionType(AMthd.ProcType).ResultEl.ResultType.Name]);
end;
WriteLn(';');
Write(';');
if HandleEasyIntf then
Write('overload;');
WriteLn('');
End;
procedure WriteMethods();
@ -344,23 +496,32 @@ procedure TProxyGenerator.GenerateProxyIntf(AIntf: TPasClassType);
begin
if ( GetElementCount(AIntf.Members,TPasProcedure) = 0 ) then
Exit;
//IncIndent();
Indent();
WriteLn('Protected');
IncIndent();
Indent();WriteLn('class function GetServiceType() : PTypeInfo;override;');
mthds := AIntf.Members;
Indent();
WriteLn('Protected');
IncIndent();
Indent();WriteLn('class function GetServiceType() : PTypeInfo;override;');
mthds := AIntf.Members;
for k := 0 to Pred(mthds.Count) do begin
elt := TPasElement(mthds[k]);
if elt.InheritsFrom(TPasProcedure) then begin
WriteMethod(TPasProcedure(elt));
end;
end;
if HandleEasyIntf then begin
Indent(); WriteLn('// Easy acces methods');
mthds := AEasyIntf.Members;
for k := 0 to Pred(mthds.Count) do begin
elt := TPasElement(mthds[k]);
if elt.InheritsFrom(TPasProcedure) then begin
WriteMethod(TPasProcedure(elt));
end;
end;
DecIndent();
//DecIndent();
end;
DecIndent();
end;
begin
HandleEasyIntf := ( goDocumentWrappedParameter in Self.Options ) and ( AEasyIntf <> nil );
SetCurrentStream(FDecStream);
NewLine();
IncIndent();
@ -370,9 +531,10 @@ begin
DecIndent();
end;
procedure TProxyGenerator.GenerateProxyImp(AIntf: TPasClassType);
procedure TProxyGenerator.GenerateProxyImp(AIntf, AEasyIntf : TPasClassType; ABinding : TwstBinding);
Var
strClassName : String;
HandleEasyIntf : Boolean;
procedure WriteDec();
begin
@ -380,7 +542,6 @@ Var
WriteLn('Function wst_CreateInstance_%s(const AFormat : string; const ATransport : string):%s;',[AIntf.Name,AIntf.Name]);
WriteLn('Begin');
IncIndent();
try
Indent();
WriteLn(
'Result := %s.Create(%s,AFormat+%s,ATransport + %s);',
@ -389,11 +550,27 @@ Var
QuotedStr('address=') + Format(' + GetServiceDefaultAddress(TypeInfo(%s))',[AIntf.Name])
]
);
finally
DecIndent();
end;
DecIndent();
WriteLn('End;');
NewLine();
if HandleEasyIntf then begin
WriteLn(
'Function wst_CreateInstance_%s%s(const AFormat : string; const ATransport : string):%s%s;',
[AIntf.Name,sEASY_ACCESS_INTERFACE_PREFIX,AIntf.Name,sEASY_ACCESS_INTERFACE_PREFIX]
);
WriteLn('Begin');
IncIndent();
Indent();
WriteLn(
'Result := wst_CreateInstance_%s(AFormat,ATransport) as %s%s;',
[AIntf.Name,AIntf.Name,sEASY_ACCESS_INTERFACE_PREFIX]
);
DecIndent();
WriteLn('End;');
NewLine();
end;
if ( GetElementCount(AIntf.Members,TPasProcedure) > 0 ) then
WriteLn('{ %s implementation }',[strClassName]);
end;
@ -435,6 +612,177 @@ Var
WriteLn(';');
End;
procedure WriteEasyMethodImp(AMthd : TPasProcedure);
var
prms : TList;
origineRes : TPasResultElement;
origineResProp : TPasProperty;
function HasObjectsArgs() : Boolean;
var
k : PtrInt;
prm : TPasArgument;
elt : TPasElement;
begin
Result := False;
for k := 0 to ( prms.Count - 1 ) do begin
prm := TPasArgument(prms[k]);
elt := prm.ArgType;
if elt.InheritsFrom(TPasUnresolvedTypeRef) then
elt := SymbolTable.FindElement(SymbolTable.GetExternalName(elt));
if elt.InheritsFrom(TPasUnresolvedTypeRef) or SymbolTable.IsOfType(TPasType(elt),TPasClassType) then begin
Result := True;
Break;
end;
end;
end;
procedure AssignArguments();
var
k : PtrInt;
prm : TPasArgument;
elt : TPasElement;
begin
for k := 0 to ( prms.Count - 1 ) do begin
prm := TPasArgument(prms[k]);
elt := prm.ArgType;
if elt.InheritsFrom(TPasUnresolvedTypeRef) then
elt := SymbolTable.FindElement(SymbolTable.GetExternalName(elt));
if elt.InheritsFrom(TPasUnresolvedTypeRef) then begin
Indent(); WriteLn('if ( PTypeInfo(TypeInfo(%s))^.Kind = tkClass ) then begin',[elt.Name]);
IncIndent();
Indent(); WriteLn('%s := TObject(%s.%s);',[sTEMP_OBJ,sINPUT_PARAM,prm.Name]);
Indent(); WriteLn('%s.Free();',[sTEMP_OBJ]);
Indent(); WriteLn('TObject(%s.%s) := nil;',[sINPUT_PARAM,prm.Name]);
DecIndent();
Indent(); WriteLn('end;');
end else begin
if SymbolTable.IsOfType(TPasType(elt),TPasClassType) then begin
Indent(); WriteLn('%s := %s.%s;',[sTEMP_OBJ,sINPUT_PARAM,prm.Name]);
Indent(); WriteLn('%s.Free();',[sTEMP_OBJ]);
end;
end;
Indent(); WriteLn('%s.%s := %s;',[sINPUT_PARAM,prm.Name,prm.Name]);
end;
end;
procedure ClearArguments();
var
k : PtrInt;
prm : TPasArgument;
elt : TPasElement;
begin
for k := 0 to ( prms.Count - 1 ) do begin
prm := TPasArgument(prms[k]);
elt := prm.ArgType;
if elt.InheritsFrom(TPasUnresolvedTypeRef) then
elt := SymbolTable.FindElement(SymbolTable.GetExternalName(elt));
if elt.InheritsFrom(TPasUnresolvedTypeRef) then begin
Indent(); WriteLn('if ( PTypeInfo(TypeInfo(%s))^.Kind = tkClass ) then',[elt.Name]);
IncIndent();
Indent(); WriteLn('TObject(%s.%s) := nil;',[sINPUT_PARAM,prm.Name]);
DecIndent();
end else begin
if SymbolTable.IsOfType(TPasType(elt),TPasClassType) then begin
Indent(); WriteLn('%s.%s := nil;',[sINPUT_PARAM,prm.Name]);
end;
end;
end;
if AMthd.ProcType.InheritsFrom(TPasFunctionType) then begin
elt := origineResProp.VarType;
if elt.InheritsFrom(TPasUnresolvedTypeRef) then
elt := SymbolTable.FindElement(SymbolTable.GetExternalName(elt));
if elt.InheritsFrom(TPasUnresolvedTypeRef) then begin
Indent(); WriteLn('if ( PTypeInfo(TypeInfo(%s))^.Kind = tkClass ) then',[elt.Name]);
IncIndent();
Indent(); WriteLn('TObject(%s.%s) := nil;',[sOUTPUT_PARAM,origineResProp.Name]);
DecIndent();
end else begin
if SymbolTable.IsOfType(TPasType(elt),TPasClassType) then begin
Indent(); WriteLn('%s.%s := nil;',[sOUTPUT_PARAM,origineResProp.Name]);
end;
end;
end;
end;
var
origineMthd : TPasProcedure;
origineIsFunc : Boolean;
origineArgIN : TPasArgument;
prmCnt,k : Integer;
prm : TPasArgument;
resPrm : TPasResultElement;
elt : TPasElement;
objArgs : Boolean;
localIsFunc : boolean;
begin
origineMthd := FindMember(AIntf,AMthd.Name) as TPasProcedure;
Assert ( origineMthd <> nil );
origineArgIN := TPasArgument(origineMthd.ProcType.Args[0]);
origineIsFunc := origineMthd.InheritsFrom(TPasFunction);
origineResProp := nil;
localIsFunc := AMthd.InheritsFrom(TPasFunction);
if origineIsFunc then begin
origineRes := TPasFunctionType(origineMthd.ProcType).ResultEl;
for k := 0 to ( TPasClassType(origineRes.ResultType).Members.Count - 1 ) do begin
elt := TPasElement(TPasClassType(origineRes.ResultType).Members[k]);
if elt.InheritsFrom(TPasProperty) and ( TPasProperty(elt).Visibility = visPublished ) then begin
origineResProp := TPasProperty(elt);
Break;
end;
end;
Assert( localIsFunc or ( origineResProp = nil ) );
end else begin
origineRes := nil;
end;
prms := AMthd.ProcType.Args;
objArgs := HasObjectsArgs();
IncIndent();
WriteLn('var');
Indent(); WriteLn('%s : TObject;',[sTEMP_OBJ]);
Indent(); WriteLn('%s : %s;',[sINPUT_PARAM,origineArgIN.ArgType.Name]);
if origineIsFunc then begin
Indent(); WriteLn('%s : %s;',[sOUTPUT_PARAM,origineRes.ResultType.Name]);
end;
WriteLn('begin');
Indent(); WriteLn('%s := nil;',[sOUTPUT_PARAM]);
Indent(); WriteLn('%s := %s.Create();',[sINPUT_PARAM,origineArgIN.ArgType.Name]);
Indent(); WriteLn('try');
IncIndent();
prmCnt := prms.Count;
if ( prmCnt > 0 ) then
AssignArguments();
if objArgs then begin
Indent(); WriteLn('try');
IncIndent();
end;
if origineIsFunc then begin
Indent(); WriteLn('%s := %s(%s);',[sOUTPUT_PARAM,origineMthd.Name,sINPUT_PARAM]);
if localIsFunc then begin
Indent(); WriteLn('Result := %s.%s;',[sOUTPUT_PARAM,origineResProp.Name]);
end;
end else begin
Indent(); WriteLn('%s(%s);',[origineMthd.Name,sINPUT_PARAM]);
end;
if objArgs then begin
DecIndent();
Indent(); WriteLn('finally');
IncIndent();
ClearArguments();
DecIndent();
Indent(); WriteLn('end;');
end;
DecIndent();
Indent(); WriteLn('finally');
IncIndent();
Indent(); WriteLn('FreeAndNil(%s);',[sINPUT_PARAM]);
Indent(); WriteLn('FreeAndNil(%s);',[sOUTPUT_PARAM]);
DecIndent();
Indent(); WriteLn('end;');
DecIndent();
WriteLn('end;');
end;
procedure WriteMethodImp(AMthd : TPasProcedure);
Var
prmCnt,k : Integer;
@ -560,9 +908,23 @@ Var
WriteLn('');
end;
end;
if HandleEasyIntf then begin
mthds := AEasyIntf.Members;
if ( mthds.Count > 0 ) then begin
for k := 0 to Pred(mthds.Count) do begin
elt := TPasElement(mthds[k]);
if elt.InheritsFrom(TPasProcedure) then begin
WriteMethodDec(TPasProcedure(elt));
WriteEasyMethodImp(TPasProcedure(elt));
WriteLn('');
end;
end;
end;
end;
end;
begin
HandleEasyIntf := ( goDocumentWrappedParameter in Self.Options ) and ( AEasyIntf <> nil );
SetCurrentStream(FImpStream);
IncIndent();
While ( DecIndent() > 0 ) Do
@ -2377,6 +2739,7 @@ var
classAncestor : TPasElement;
tmpList : TList;
intfCount : PtrInt;
locBinding : TwstBinding;
begin
intfCount := 0;
objLst := nil;
@ -2491,6 +2854,23 @@ begin
end;
end;
if ( goDocumentWrappedParameter in Self.Options ) then begin
c := FSymbolTable.BindingCount;
if ( c > 0 ) then begin
for i := 0 to ( c - 1 ) do begin
locBinding := FSymbolTable.Binding[i];
if ( locBinding.BindingStyle = bsDocument ) then begin
clssTyp := DeduceEasyInterfaceForDocStyle(locBinding.Intf,FSymbolTable);
try
GenerateIntf(clssTyp);
finally
clssTyp.Release();
end;
end;
end;
end;
end;
if ( intfCount > 0 ) then begin
SetCurrentStream(FDecStream);
NewLine();

View File

@ -22,7 +22,7 @@
<RunParams>
<local>
<FormatVersion Value="1"/>
<CommandLineParams Value="-uA -i -p -b -x -a&quot;C:\Programmes\lazarus\wst\trunk\tests\files&quot; &quot;C:\Programmes\lazarus\wst\trunk\type_lib_edtr\files\DataSource.xsd&quot;"/>
<CommandLineParams Value="-uA -p C:\Programmes\D7\etatcivil\partages\wst\tests\test_suite\files\document_literal_wrapped_binding_style.wsdl -aE:\tmp\docstyle"/>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
@ -148,10 +148,8 @@
</CodeGeneration>
<Linking>
<Debugging>
<UseLineInfoUnit Value="False"/>
<StripSymbols Value="True"/>
<GenerateDebugInfo Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
</Linking>
<Other>
<CustomOptions Value="-Xi

View File

@ -9,8 +9,9 @@ resourcestring
' -o PATH Relative output directory' + sNEW_LINE +
' -a PATH Absolute output directory' + sNEW_LINE +
' -w Generate WSDL file; Can be used to get wsdl from pascal' + sNEW_LINE +
' -x Generate XSD file; Can be used to get xsd from pascal' + sNEW_LINE;
sCOPYRIGHT = 'ws_helper, Web Service Toolkit 0.5 Copyright (c) 2006, 2007 by Inoussa OUEDRAOGO';
' -x Generate XSD file; Can be used to get xsd from pascal' + sNEW_LINE +
' -y Generate easy access interface for wrapped parameters' + sNEW_LINE;
sCOPYRIGHT = 'ws_helper, Web Service Toolkit 0.5 Copyright (c) 2006, 2008 by Inoussa OUEDRAOGO';
const
sWST_META = 'wst_meta';
@ -170,8 +171,10 @@ var
mg : TMetadataGenerator;
rsrcStrm : TMemoryStream;
strStream : TStringStream;
wrappedParams : Boolean;
begin
Result := False;
wrappedParams := ( cloHandleWrappedParameters in AppOptions );
strStream := nil;
rsrcStrm := nil;
mtdaFS := nil;
@ -182,6 +185,8 @@ var
if ( cloInterface in AppOptions ) then begin
WriteLn('Interface file generation...');
g := TInftGenerator.Create(symtable,srcMngr);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
end;
@ -189,6 +194,8 @@ var
If ( cloProxy in AppOptions ) Then Begin
WriteLn('Proxy file generation...');
g := TProxyGenerator.Create(symtable,srcMngr);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
End;
@ -196,6 +203,8 @@ var
If ( cloBinder in AppOptions ) Then Begin
WriteLn('Binder file generation...');
g := TBinderGenerator.Create(symtable,srcMngr);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
End;
@ -203,6 +212,8 @@ var
If ( cloImp in AppOptions ) Then Begin
WriteLn('Implementation file generation...');
g := TImplementationGenerator.Create(symtable,srcMngr);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
g.Execute();
FreeAndNil(g);
End;