typ_lib_edtr bug fix

more tests and fix
Delphi GUI DUnit test suite runer 

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@292 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2007-12-19 23:31:52 +00:00
parent 3f6e0d1e2a
commit a53b4f1c6e
23 changed files with 3521 additions and 1284 deletions

View File

@ -179,6 +179,8 @@ type
implementation
uses jsonparser;
{ TJsonRpcBaseFormatter }
@ -287,7 +289,7 @@ end;
procedure TJsonRpcBaseFormatter.AddScopeAttribute(const AName, AValue : string);
begin
Put(AName,TypeInfo(string),AValue);
end;
function TJsonRpcBaseFormatter.BeginObjectRead(var AScopeName : string;
@ -362,13 +364,26 @@ begin
end;
procedure TJsonRpcBaseFormatter.SaveToStream(AStream : TStream);
var
locBuffer : string;
begin
CheckScope();
locBuffer := StackTop().ScopeObject.AsJSON;
AStream.WriteBuffer(locBuffer[1],Length(locBuffer));
end;
procedure TJsonRpcBaseFormatter.LoadFromStream(AStream : TStream);
var
locParser : TJSONParser;
begin
ClearStack();
FSerializationStyle := Low(TSerializationStyle);
locParser := TJSONParser.Create(AStream);
try
//f locParser.Parse;
finally
locParser.Free();
end;
end;
procedure TJsonRpcBaseFormatter.Error(const AMsg : string);

View File

@ -19,7 +19,7 @@ interface
uses
Classes, SysUtils, TypInfo, Contnrs, syncobjs, semaphore, wst_types
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
,Windows
{$ENDIF}
;
@ -239,6 +239,7 @@ type
var AName : String;
const ATypeInfo : PTypeInfo
);virtual;abstract;
function Equal(const ACompareTo : TBaseRemotable) : Boolean;virtual;
End;
TAbstractSimpleRemotableClass = class of TAbstractSimpleRemotable;
@ -265,6 +266,7 @@ type
);override;
procedure Assign(Source: TPersistent); override;
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
property Data : string read FData write FData;
end;
@ -295,6 +297,7 @@ type
class function ParseDate(const ABuffer : string):TDateTime;virtual;abstract;
procedure Assign(Source: TPersistent); override;
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
property AsDate : TDateTime read FDate write SetDate;
property Year : Integer read FYear;
@ -342,6 +345,7 @@ type
class function IsAttributeProperty(const AProperty : shortstring):Boolean;
procedure Assign(Source: TPersistent); override;
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
end;
TBaseComplexRemotableClass = class of TBaseComplexRemotable;
@ -624,6 +628,7 @@ type
constructor Create();override;
procedure Assign(Source: TPersistent); override;
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
procedure SetLength(Const ANewSize : Integer);override;
Property Item[AIndex:Integer] : TBaseRemotable Read GetItem;Default;
@ -680,6 +685,8 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
property Item[AIndex:Integer] : ansistring read GetItem write SetItem; default;
end;
@ -704,6 +711,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Boolean read GetItem write SetItem; default;
end;
@ -728,6 +736,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Byte read GetItem write SetItem; default;
end;
@ -752,6 +761,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : ShortInt read GetItem write SetItem; default;
end;
@ -776,6 +786,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : SmallInt read GetItem write SetItem; default;
end;
@ -800,6 +811,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Word read GetItem write SetItem; default;
end;
@ -824,6 +836,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : LongWord read GetItem write SetItem; default;
end;
@ -848,6 +861,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : LongInt read GetItem write SetItem; default;
end;
@ -872,6 +886,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Int64 read GetItem write SetItem; default;
end;
@ -895,6 +910,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : QWord read GetItem write SetItem; default;
end;
@ -919,6 +935,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Single read GetItem write SetItem; default;
end;
@ -943,6 +960,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Double read GetItem write SetItem; default;
end;
@ -967,6 +985,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Extended read GetItem write SetItem; default;
end;
@ -991,6 +1010,7 @@ type
public
class function GetItemTypeInfo():PTypeInfo;override;
procedure SetLength(const ANewSize : Integer);override;
procedure Assign(Source: TPersistent); override;
property Item[AIndex:Integer] : Currency read GetItem write SetItem; default;
end;
@ -1458,6 +1478,11 @@ constructor TBaseRemotable.Create();
begin
end;
function TBaseRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
begin
Result := ( Self = ACompareTo );
end;
{ TBaseComplexRemotable }
Type
TEnumBuffer = Record
@ -1665,7 +1690,7 @@ begin
typRegItem := GetTypeRegistry().ItemByTypeInfo[ATypeInfo];
for i := 0 to Pred(propCount) do begin
p := propList^[i];
pt := p^.PropType{$IFNDEF FPC}^{$ENDIF};
pt := p^.PropType{$IFDEF WST_DELPHI}^{$ENDIF};
if IsStoredProp(AObject,p) then begin
if IsAttributeProperty(p^.Name) then begin
if ( ss <> ssAttibuteSerialization ) then
@ -1702,7 +1727,7 @@ begin
{$ENDIF}
tkEnumeration,tkInteger :
begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( pt^.Kind = tkEnumeration ) and
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -1743,7 +1768,7 @@ begin
AStore.Put(prpName,pt,enumData.ULongIntData);
end;
end;
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
end;
@ -1837,7 +1862,7 @@ begin
p := propList^[i];
persistType := IsStoredPropClass(objTypeData^.ClassType,p);
If ( persistType in [pstOptional,pstAlways] ) Then Begin
pt := p^.PropType{$IFNDEF FPC}^{$ENDIF};
pt := p^.PropType{$IFDEF WST_DELPHI}^{$ENDIF};
propName := typRegItem.GetExternalPropertyName(p^.Name);
if IsAttributeProperty(p^.Name) then begin
ss := ssAttibuteSerialization;
@ -1880,7 +1905,7 @@ begin
End;
tkEnumeration,tkInteger :
Begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( pt^.Kind = tkEnumeration ) and
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -1922,7 +1947,7 @@ begin
End;
End;
SetOrdProp(AObject,p^.Name,int64Data);
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
End;
@ -2103,6 +2128,32 @@ begin
end;
end;
function TBaseObjectArrayRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
var
i, c : PtrInt;
dst : TBaseObjectArrayRemotable;
begin
if ( Self = ACompareTo ) then begin
Result := True;
end else begin
Result := ( Assigned(ACompareTo) and
ACompareTo.InheritsFrom(TBaseObjectArrayRemotable) and
( Self.Length = TBaseObjectArrayRemotable(ACompareTo).Length ) and
( TBaseObjectArrayRemotable(ACompareTo).GetItemClass().InheritsFrom(Self.GetItemClass()) )
) ;
if Result and ( Self.Length > 0 ) then begin
dst := TBaseObjectArrayRemotable(ACompareTo);
c := Self.Length;
for i := 0 to Pred(c) do begin
if not Self.Item[i].Equal(dst.Item[i]) then begin
Result := False;
Break;
end;
end;
end;
end;
end;
procedure TBaseObjectArrayRemotable.SetLength(const ANewSize: Integer);
var
i,oldLen : Integer;
@ -2777,14 +2828,53 @@ begin
end;
procedure TArrayOfStringRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfStringRemotable.Assign(Source: TPersistent);
var
src : TArrayOfStringRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfStringRemotable) then begin
src := TArrayOfStringRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
function TArrayOfStringRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
var
i, c : Ptrint;
dst : TArrayOfStringRemotable;
begin
if ( Self = ACompareTo ) then begin
Result := True;
end else begin
Result := Assigned(ACompareTo) and
ACompareTo.InheritsFrom(TArrayOfStringRemotable) and
( Self.Length = TArrayOfStringRemotable(ACompareTo).Length );
if Result then begin
c := Self.Length;
dst := TArrayOfStringRemotable(ACompareTo);
for i := 0 to Pred(c) do begin
if ( Self.Item[i] <> dst.Item[i] ) then begin
Result := False;
Break;
end;
end;
end;
end;
end;
{ TBaseArrayRemotable }
@ -2863,14 +2953,29 @@ begin
end;
procedure TArrayOfBooleanRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfBooleanRemotable.Assign(Source: TPersistent);
var
src : TArrayOfBooleanRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfBooleanRemotable) then begin
src := TArrayOfBooleanRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt8URemotable }
@ -2912,14 +3017,29 @@ begin
end;
procedure TArrayOfInt8URemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt8URemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt8URemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt8URemotable) then begin
src := TArrayOfInt8URemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt8SRemotable }
@ -2961,14 +3081,29 @@ begin
end;
procedure TArrayOfInt8SRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt8SRemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt8SRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt8SRemotable) then begin
src := TArrayOfInt8SRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt16SRemotable }
@ -3010,14 +3145,29 @@ begin
end;
procedure TArrayOfInt16SRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt16SRemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt16SRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt16SRemotable) then begin
src := TArrayOfInt16SRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt16URemotable }
@ -3059,14 +3209,29 @@ begin
end;
procedure TArrayOfInt16URemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt16URemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt16URemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt16URemotable) then begin
src := TArrayOfInt16URemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt32URemotable }
@ -3108,14 +3273,29 @@ begin
end;
procedure TArrayOfInt32URemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt32URemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt32URemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt32URemotable) then begin
src := TArrayOfInt32URemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt32SRemotable }
@ -3157,14 +3337,29 @@ begin
end;
procedure TArrayOfInt32SRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt32SRemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt32SRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt32SRemotable) then begin
src := TArrayOfInt32SRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt64SRemotable }
@ -3206,14 +3401,29 @@ begin
end;
procedure TArrayOfInt64SRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt64SRemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt64SRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt64SRemotable) then begin
src := TArrayOfInt64SRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfInt64URemotable }
@ -3255,14 +3465,29 @@ begin
end;
procedure TArrayOfInt64URemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfInt64URemotable.Assign(Source: TPersistent);
var
src : TArrayOfInt64URemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfInt64URemotable) then begin
src := TArrayOfInt64URemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfFloatSingleRemotable }
@ -3304,14 +3529,29 @@ begin
end;
procedure TArrayOfFloatSingleRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfFloatSingleRemotable.Assign(Source: TPersistent);
var
src : TArrayOfFloatSingleRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfFloatSingleRemotable) then begin
src := TArrayOfFloatSingleRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfFloatDoubleRemotable }
@ -3353,14 +3593,29 @@ begin
end;
procedure TArrayOfFloatDoubleRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfFloatDoubleRemotable.Assign(Source: TPersistent);
var
src : TArrayOfFloatDoubleRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfFloatDoubleRemotable) then begin
src := TArrayOfFloatDoubleRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfFloatExtendedRemotable }
@ -3402,14 +3657,29 @@ begin
end;
procedure TArrayOfFloatExtendedRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfFloatExtendedRemotable.Assign(Source: TPersistent);
var
src : TArrayOfFloatExtendedRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfFloatExtendedRemotable) then begin
src := TArrayOfFloatExtendedRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
{ TArrayOfFloatCurrencyRemotable }
@ -3451,14 +3721,29 @@ begin
end;
procedure TArrayOfFloatCurrencyRemotable.SetLength(const ANewSize: Integer);
var
i : Integer;
begin
if ( ANewSize < 0 ) then
i := 0
else
i := ANewSize;
System.SetLength(FData,i);
raise EBaseRemoteException.CreateFmt('Invalid array length : %d',[ANewSize]);
System.SetLength(FData,ANewSize);
end;
procedure TArrayOfFloatCurrencyRemotable.Assign(Source: TPersistent);
var
src : TArrayOfFloatCurrencyRemotable;
i, c : PtrInt;
begin
if Assigned(Source) and Source.InheritsFrom(TArrayOfFloatCurrencyRemotable) then begin
src := TArrayOfFloatCurrencyRemotable(Source);
c := src.Length;
Self.SetLength(c);
if ( c > 0 ) then begin
for i := 0 to Pred(c) do begin
Self[i] := src[i];
end;
end;
end else begin
inherited Assign(Source);
end;
end;
@ -3634,7 +3919,9 @@ begin
Assigned(p^.SetProc)
then begin
case p^.PropType^.Kind of
tkInt64{$IFDEF HAS_QWORD} ,tkQWord{$ENDIF} {$IFDEF FPC} ,tkBool{$ENDIF}, tkEnumeration,tkInteger :
tkInt64{$IFDEF HAS_QWORD} ,tkQWord{$ENDIF} :
SetInt64Prop(Self,p,GetInt64Prop(Source,p^.Name));
{$IFDEF FPC}tkBool,{$ENDIF} tkEnumeration, tkInteger :
SetOrdProp(Self,p,GetOrdProp(Source,p^.Name));
tkLString{$IFDEF FPC}, tkAString{$ENDIF} :
SetStrProp(Self,p,GetStrProp(Source,p^.Name));
@ -3669,6 +3956,61 @@ begin
end;
end;
function TAbstractComplexRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
var
propList : PPropList;
i, propCount, propListLen : Integer;
p, sp : PPropInfo;
selfTypeInfo : PTypeInfo;
srcObj, dstObj : TObject;
ok : Boolean;
begin
Result := False;
if not Assigned(ACompareTo) then
Exit;
if not ACompareTo.InheritsFrom(Self.ClassType) then
Exit;
ok := True;
selfTypeInfo := Self.ClassInfo;
propCount := GetTypeData(selfTypeInfo)^.PropCount;
if ( propCount > 0 ) then begin
propListLen := GetPropList(selfTypeInfo,propList);
try
for i := 0 to Pred(propCount) do begin
p := propList^[i];
sp := GetPropInfo(Self,p^.Name);
if Assigned(sp) and Assigned(sp^.GetProc) then begin
case p^.PropType^.Kind of
tkInt64{$IFDEF HAS_QWORD} ,tkQWord{$ENDIF} :
ok := ( GetInt64Prop(Self,p^.Name) = GetInt64Prop(ACompareTo,p^.Name) );
{$IFDEF FPC}tkBool,{$ENDIF} tkEnumeration, tkInteger :
ok := ( GetOrdProp(Self,p^.Name) = GetOrdProp(ACompareTo,p^.Name) );
tkLString{$IFDEF FPC}, tkAString{$ENDIF} :
ok := ( GetStrProp(Self,p^.Name) = GetStrProp(ACompareTo,p^.Name) );
tkClass :
begin
if GetTypeData(p^.PropType{$IFDEF WST_DELPHI}^{$ENDIF})^.ClassType.InheritsFrom(TBaseRemotable) then begin
srcObj := GetObjectProp(Self,p^.Name);
dstObj := GetObjectProp(ACompareTo,p^.Name);
ok := ( Assigned(srcObj) and TBaseRemotable(srcObj).Equal(TBaseRemotable(dstObj)) ) or
( ( srcObj = nil ) and ( dstObj = nil ) ) ;
end;
end;
tkFloat :
ok := ( GetFloatProp(Self,p^.Name) = GetFloatProp(ACompareTo,p^.Name) );
end;
if not ok then
Break;
end;
end;
finally
Freemem(propList,propListLen*SizeOf(Pointer));
end;
end;
Result := ok;
end;
{ TBaseComplexSimpleContentRemotable }
class procedure TBaseComplexSimpleContentRemotable.Save(
@ -3708,7 +4050,7 @@ begin
AStore.SetSerializationStyle(ssAttibuteSerialization);
for i := 0 to Pred(propCount) do begin
p := propList^[i];
pt := p^.PropType{$IFNDEF FPC}^{$ENDIF};
pt := p^.PropType{$IFDEF WST_DELPHI}^{$ENDIF};
propName := tr.ItemByTypeInfo[pt].GetExternalPropertyName(p^.Name);
if IsStoredProp(AObject,p) then begin
case pt^.Kind of
@ -3736,7 +4078,7 @@ begin
{$ENDIF}
tkEnumeration,tkInteger :
begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( pt^.Kind = tkEnumeration ) and
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -3777,7 +4119,7 @@ begin
AStore.Put(propName,pt,enumData.ULongIntData);
end;
end;
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
end;
@ -3871,7 +4213,7 @@ begin
p := propList^[i];
persistType := IsStoredPropClass(objTypeData^.ClassType,p);
If ( persistType in [pstOptional,pstAlways] ) Then Begin
pt := p^.PropType{$IFNDEF FPC}^{$ENDIF};
pt := p^.PropType{$IFDEF WST_DELPHI}^{$ENDIF};
propName := tr.ItemByTypeInfo[pt].GetExternalPropertyName(p^.Name);
try
Case pt^.Kind Of
@ -4172,6 +4514,8 @@ begin
DecodeDate(ADate,y,m,d);
s := IntToStr(y);
buffer := IntToStr(m);
if ( Length(s) < 4 ) then
s := StringOfChar('0', ( 4 - Length(s) ) ) + s;
if ( m < 10 ) then
buffer := '0' + buffer;
s := Format('%s-%s',[s,buffer]);
@ -4263,7 +4607,10 @@ begin
ss := ReadInt();
Result := EncodeDate(y,m,d) + EncodeTime(hh,mn,ss,0);
if ( ( y + m + d + hh + mn + ss ) = 0 ) then
Result := 0
else
Result := EncodeDate(y,m,d) + EncodeTime(hh,mn,ss,0);
end else begin
Result := 0;
end;
@ -4329,6 +4676,15 @@ begin
end;
end;
function TBaseDateRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
begin
Result := ( Self = ACompareTo ) or
( Assigned(ACompareTo) and
ACompareTo.InheritsFrom(TBaseDateRemotable) and
( Self.AsDate = TBaseDateRemotable(ACompareTo).AsDate )
);
end;
{ TComplexInt8SContentRemotable }
class procedure TComplexInt8SContentRemotable.SaveValue(
@ -4643,6 +4999,15 @@ begin
end;
end;
function TStringBufferRemotable.Equal(const ACompareTo : TBaseRemotable) : Boolean;
begin
Result := ( Self = ACompareTo ) or
( Assigned(ACompareTo) and
ACompareTo.InheritsFrom(TStringBufferRemotable) and
( Self.Data = TStringBufferRemotable(ACompareTo).Data )
);
end;
{ TRemotableRecordEncoder }
class procedure TRemotableRecordEncoder.Save(
@ -4706,7 +5071,7 @@ begin
{$ENDIF}
tkEnumeration,tkInteger :
begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( pt^.Kind = tkEnumeration ) and
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -4721,7 +5086,7 @@ begin
otSLong : AStore.Put(prpName,pt,PLongint(recFieldAddress)^);
otULong : AStore.Put(prpName,pt,PLongWord(recFieldAddress)^);
end;
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
end;
@ -4809,7 +5174,7 @@ begin
tkRecord : AStore.Get(pt,propName,Pointer(recFieldAddress)^);
tkEnumeration,tkInteger :
Begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( pt^.Kind = tkEnumeration ) and
( GetTypeData(pt)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -4824,7 +5189,7 @@ begin
otSLong : AStore.Get(pt,propName,PLongint(recFieldAddress)^);
otULong : AStore.Get(pt,propName,PLongWord(recFieldAddress)^);
end;
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
End;

View File

@ -17,7 +17,7 @@ interface
uses
Classes, SysUtils, TypInfo, Contnrs,
{$IFNDEF FPC}xmldom, wst_delphi_xml{$ELSE}DOM{$ENDIF},
{$IFDEF WST_DELPHI}xmldom, wst_delphi_xml{$ELSE}DOM{$ENDIF},
base_service_intf;
const
@ -42,7 +42,7 @@ const
type
TwstXMLDocument = {$IFNDEF FPC}wst_delphi_xml.TXMLDocument{$ELSE}TXMLDocument{$ENDIF};
TwstXMLDocument = {$IFDEF WST_DELPHI}wst_delphi_xml.TXMLDocument{$ELSE}TXMLDocument{$ENDIF};
TEnumIntType = Int64;
@ -358,7 +358,7 @@ type
implementation
Uses {$IFNDEF FPC}XMLDoc,XMLIntf,{$ELSE}XMLWrite, XMLRead,wst_fpc_xml,{$ENDIF}
Uses {$IFDEF WST_DELPHI}XMLDoc,XMLIntf,{$ELSE}XMLWrite, XMLRead,wst_fpc_xml,{$ENDIF}
StrUtils, imp_utils;
{ TStackItem }
@ -409,7 +409,7 @@ end;
function TObjectStackItem.FindNode(var ANodeName: string): TDOMNode;
begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
Result := wst_delphi_xml.FindNode(ScopeObject,ANodeName);
{$ELSE}
Result := ScopeObject.FindNode(ANodeName);
@ -847,7 +847,7 @@ procedure TSOAPBaseFormatter.GetEnum(
Var
locBuffer : String;
begin
locBuffer := Trim(GetNodeValue(AName));
locBuffer := GetTypeRegistry().ItemByTypeInfo[ATypeInfo].GetInternalPropertyName(GetNodeValue(AName));
If IsStrEmpty(locBuffer) Then
AData := 0
Else
@ -1429,7 +1429,7 @@ begin
{$ENDIF}
tkInteger, tkEnumeration :
begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( ATypeInfo^.Kind = tkEnumeration ) and
( GetTypeData(ATypeInfo)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -1450,7 +1450,7 @@ begin
PutInt64(AName,ATypeInfo,enumData)
Else
PutEnum(AName,ATypeInfo,enumData);
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
end;
@ -1642,7 +1642,7 @@ begin
{$ENDIF}
tkInteger, tkEnumeration :
begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
if ( ATypeInfo^.Kind = tkEnumeration ) and
( GetTypeData(ATypeInfo)^.BaseType^ = TypeInfo(Boolean) )
then begin
@ -1664,7 +1664,7 @@ begin
otSLong,
otULong : LongInt(AData) := enumData;
End;
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
end;
{$ENDIF}
end;
@ -1850,7 +1850,7 @@ end;
function TEmbeddedArrayStackItem.CreateList(const ANodeName: string): TDOMNodeList;
begin
if ScopeObject.HasChildNodes() then begin
{$IFNDEF FPC}
{$IFDEF WST_DELPHI}
Result := FilterList(ScopeObject.childNodes,ANodeName);
{$ELSE}
Result := {$IFNDEF FPC_211}TDOMNodeList{$ELSE}TDOMElementList{$ENDIF}.Create(ScopeObject,ANodeName);

View File

@ -867,7 +867,7 @@ procedure TXmlRpcBaseFormatter.GetEnum(
Var
locBuffer : String;
begin
locBuffer := Trim(GetNodeValue(AName));
locBuffer := GetTypeRegistry().ItemByTypeInfo[ATypeInfo].GetInternalPropertyName(GetNodeValue(AName));
If IsStrEmpty(locBuffer) Then
AData := 0
Else

View File

@ -102,6 +102,14 @@ uses
server_service_intf, server_service_imputils,
metadata_wsdl;
{$IFDEF WST_DBG}
procedure Display(const AMsg : string);
begin
if IsConsole then
WriteLn(AMsg);
end;
{$ENDIF}
function ExtractNextPathElement(var AFullPath : string):string;
var
i : SizeInt;

View File

@ -0,0 +1,43 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-N"obj"
-LE"c:\program files\borland\delphi7\Projects\Bpl"
-LN"c:\program files\borland\delphi7\Projects\Bpl"
-U"..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;..\..\..\ws_helper;..\..\..\wst_rtti_filter;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src"
-O"..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;..\..\..\ws_helper;..\..\..\wst_rtti_filter;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src"
-I"..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;..\..\..\ws_helper;..\..\..\wst_rtti_filter;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src"
-R"..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;..\..\..\ws_helper;..\..\..\wst_rtti_filter;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

View File

@ -0,0 +1,160 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=obj
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;..\..\..\ws_helper;..\..\..\wst_rtti_filter;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOfficeXP;Rave70VCL;Rave70CLX;Jcl;JclVcl;JvCoreD7R;JvSystemD7R;JvStdCtrlsD7R;JvAppFrmD7R;JvBandsD7R;JvDBD7R;JvDlgsD7R;JvBDED7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvTimeFrameworkD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;FIBDBMidas7;daADPhysADSD7;daADPhysODBCD7;daADPhysD7;daADComID7;daADPhysDBExpD7;daADPhysASAD7;daADPhysOraclD7;daADPhysMySQLD7;daADPhysDb2D7;daADPhysMSSQLD7;daADPhysMSAccD7;daADGUIxFormsD7;daADCompD7;CRControls70;dac70;dacvcl70;odacvcl70;odac70;oraprov70;dxGDIPlusD7;cxLibraryVCLD7;dxsbD7;dxComnD7;cxEditorsVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxPageControlVCLD7;cxGridD7;cxSchedulerVCLD7;cxTreeListVCLD7;cxVerticalGridVCLD7;cxPivotGridD7;cxSpreadSheetVCLD7;dxDockingD7;dxNavBarD7;dxLayoutControlD7;dxLayoutControlcxEditAdaptersD7;cxWebD7;cxWebPascalScriptD7;cxWebSnapD7;cxWebTeeChartD7;dxMasterViewD7;dxmdsD7;dxdbtrD7;dxtrmdD7;dxorgcD7;dxdborD7;dxFlowChartD7;dxPSCoreD7;dxPSLnksD7;dxPScxCommonD7;dxPScxGrid6LnkD7;dxPScxPCProdD7;dxPScxPivotGridLnkD7;dxPScxScheduler2LnkD7;dxPScxSSLnkD7;dxPScxTLLnkD7;dxPScxVGridLnkD7;dxPSTeeChartD7;dxPSdxOCLnkD7;dxPSdxDBTVLnkD7;dxPSdxFCLnkD7;dxPSdxLCLnkD7;dxPSdxMVLnkD7;dxPSdxDBOCLnkD7;dxPScxExtCommonD7;dxPsPrVwAdvD7;dxBarExtItemsD7;dxBarD7;dxPSDBTeeChartD7;cxBarEditItemD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxRibbonD7;S403_r70;S403br70
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1036
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlConditionals]
Count=1
Item0=DUnit
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[HistoryLists\hlSearchPath]
Count=13
Item0=..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;..\..\..\ws_helper;..\..\..\wst_rtti_filter;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item1=..\;..\..\;..\..\..\;..\..\..\fcl-units\fcl-passrc\src;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src;..\..\..\ws_helper
Item2=..\;..\..\;..\..\..\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src;..\..\..\fcl-units\fcl-passrc\src
Item3=..\;..\..\;..\..\..\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item4=..\;..\..\;..\..\..\;C:\Programmes\lazarus\wst\trunk\ws_helper;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item5=..\;..\..\;..\..\..\;..\..\ws_helper;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item6=..\;..\..\;..\..\..\;..\..\ws_helper\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item7=..\;..\..\;..\..\..\;..\..\ws_helper\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src;C:\Programmes\lazarus\wst\trunk\ws_helper
Item8=..\;..\..\;..\..\..\;..\..\..\ws_helper\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item9=..\;..\..\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item10=..\;C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item11=C:\Program Files\Borland\Delphi7\plate_forme\dunit\dunit-9.3.0\src
Item12=..\
[HistoryLists\hlUnitOutputDirectory]
Count=1
Item0=obj

View File

@ -0,0 +1,21 @@
program gui_wst_test_suite;
uses
TestFramework,
Forms,
GUITestRunner,
TextTestRunner,
delphi_init_com,
testmetadata_unit in '..\testmetadata_unit.pas',
test_parsers in '..\test_parsers.pas',
test_support in '..\test_support.pas',
test_utilities in '..\test_utilities.pas',
testformatter_unit in '..\testformatter_unit.pas',
base_service_intf in '..\..\..\base_service_intf.pas';
{$R *.res}
begin
Application.Initialize;
GUITestRunner.RunRegisteredTests;
end.

View File

@ -134,14 +134,6 @@ OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[Excluded Packages]
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPSdxDBTLLnkD7.bpl=ExpressPrinting System ReportLink for ExpressQuantumDBTreeList by Developer Express Inc.
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPSdxDBGrLnkD7.bpl=ExpressPrinting System ReportLink for ExpressQuantumGrid by Developer Express Inc.
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPSdxInsLnkD7.bpl=ExpressPrinting System ReportLink for ExpressInspector by Developer Express Inc.
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPSdxOILnkD7.bpl=ExpressPrinting System ReportLink for ExpressRTTIInspector by Developer Express Inc.
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPSdxMVLnkD7.bpl=ExpressPrinting System ReportLink for ExpressMasterView by Developer Express Inc.
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPSdxFCLnkD7.bpl=ExpressPrinting System ReportLinks for ExpressFlowChart by Developer Express Inc.
C:\Program Files\Developer Express Inc\ExpressPrinting System\Delphi 7\Lib\dxPScxSSLnkD7.bpl=ExpressPrinting System ReportLink for ExpressSpreadSheet by Developer Express Inc.
[HistoryLists\hlConditionals]
Count=1
Item0=DUnit

View File

@ -8,7 +8,8 @@ uses
test_utilities in '..\test_utilities.pas',
testformatter_unit in '..\testformatter_unit.pas',
test_parsers in '..\test_parsers.pas',
testmetadata_unit;
testmetadata_unit,
test_support in '..\test_support.pas';
{$R *.res}

File diff suppressed because it is too large Load Diff

View File

@ -471,30 +471,6 @@ type
procedure Test_Assign();
end;
{ TTest_TDateRemotable }
TTest_TDateRemotable = class(TTestCase)
published
procedure FormatDate();
procedure ParseDate();
end;
{ TTest_TDurationRemotable }
TTest_TDurationRemotable = class(TTestCase)
published
procedure FormatDate();
procedure ParseDate();
end;
{ TTest_TTimeRemotable }
TTest_TTimeRemotable = class(TTestCase)
published
procedure FormatDate();
procedure ParseDate();
end;
{ TTest_SoapFormatterExceptionBlock }
TTest_SoapFormatterExceptionBlock = class(TTestCase)
@ -532,6 +508,14 @@ type
procedure ExceptBlock_client();
end;
{ TTest_TStringBufferRemotable }
TTest_TStringBufferRemotable = class(TTestCase)
published
procedure Assign();
end;
implementation
uses base_binary_formatter, base_soap_formatter, base_xmlrpc_formatter, record_rtti,
Math, imp_utils
@ -691,6 +675,16 @@ begin
end;
end;
function RandomValue(const AMaxlen: Integer): ansistring;
var
k : Integer;
begin
SetLength(Result,AMaxlen);
for k := 1 to AMaxlen do begin
Result[k] := Char((Random(Ord(High(Char)))));
end;
end;
function TTestFormatterSimpleType.Support_ComplextType_with_SimpleContent( ): Boolean;
begin
Result := True;
@ -3599,78 +3593,6 @@ begin
inherited Destroy();
end;
{ TTest_TDateRemotable }
procedure TTest_TDateRemotable.FormatDate();
const sDATE = '1976-10-12T23:34:56';
var
d : TDateTime;
begin
//'-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)?
d := EncodeDate(1976,10,12) + EncodeTime(23,34,56,0);
Check(AnsiPos(TDateRemotable.FormatDate(d),sDATE) = 1);
end;
procedure TTest_TDateRemotable.ParseDate();
const sDATE = '1976-10-12T23:34:56';
var
s : string;
objd : TDateRemotable;
d : TDateTime;
y,m,dy : Word;
hh,mn,ss, ssss : Word;
begin
//'-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)?
s := '1976-10-12T23:34:56';
d := TDateRemotable.ParseDate(s);
DecodeDate(d,y,m,dy);
CheckEquals(y,1976,'Year');
CheckEquals(m,10,'Month');
CheckEquals(dy,12,'Day');
DecodeTime(d,hh,mn,ss,ssss);
CheckEquals(hh,23,'Hour');
CheckEquals(mn,34,'Minute');
CheckEquals(ss,56,'Second');
objd := TDateRemotable.Create();
try
objd.AsDate := d;
CheckEquals(objd.Year,1976,'Year');
CheckEquals(objd.Month,10,'Month');
CheckEquals(objd.Day,12,'Day');
CheckEquals(objd.Hour,23,'Hour');
CheckEquals(objd.Minute,34,'Minute');
CheckEquals(objd.Second,56,'Second');
finally
FreeAndNil(objd);
end;
end;
{ TTest_TDurationRemotable }
procedure TTest_TDurationRemotable.FormatDate();
begin
Fail('Write me!');
end;
procedure TTest_TDurationRemotable.ParseDate();
begin
Fail('Write me!');
end;
{ TTest_TTimeRemotable }
procedure TTest_TTimeRemotable.FormatDate();
begin
Fail('Write me!');
end;
procedure TTest_TTimeRemotable.ParseDate();
begin
Fail('Write me!');
end;
{ TTestXmlRpcFormatterAttributes }
function TTestXmlRpcFormatterAttributes.CreateFormatter(ARootType: PTypeInfo): IFormatterBase;
@ -4255,9 +4177,38 @@ begin
CheckEquals(Self.GetFormaterName(),f.GetFormatName());
end;
{ TTest_TStringBufferRemotable }
procedure TTest_TStringBufferRemotable.Assign();
const ITER = 100;
var
a, b : TStringBufferRemotable;
i : Integer;
begin
b := nil;
a := TStringBufferRemotable.Create();
try
b := TStringBufferRemotable.Create();
CheckEquals(a.Data,b.Data);
for i := 0 to ITER do begin
a.Data := RandomValue(i);
b.Assign(a);
CheckEquals(a.Data,b.Data);
end;
a.Data := '';
b.Assign(a);
CheckEquals(a.Data,b.Data);
finally
b.Free();
a.Free();
end;
end;
initialization
RegisterStdTypes();
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TTestEnum),'TTestEnum').RegisterExternalPropertyName('teOne', '1');
GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestEnum)].RegisterExternalPropertyName('teThree', 'Three-external-name');
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TClass_Int),'TClass_Int').RegisterExternalPropertyName('Val_8U','U8');
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TClass_Enum),'TClass_Enum');
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TClass_A),'TClass_A');
@ -4310,15 +4261,13 @@ initialization
RegisterTest(TTest_TBaseComplexRemotable);
RegisterTest(TTestSOAPFormatterAttributes);
RegisterTest(TTestBinaryFormatterAttributes);
RegisterTest(TTest_TDateRemotable);
RegisterTest(TTest_TDurationRemotable);
RegisterTest(TTest_TTimeRemotable);
RegisterTest(TTestXmlRpcFormatterAttributes);
RegisterTest(TTestXmlRpcFormatter);
RegisterTest(TTest_SoapFormatterExceptionBlock);
RegisterTest(TTest_XmlRpcFormatterExceptionBlock);
RegisterTest(TTest_BinaryFormatterExceptionBlock);
RegisterTest(TTest_TStringBufferRemotable);
{$ELSE}
RegisterTest(TTestArray.Suite);
RegisterTest(TTestSOAPFormatter.Suite);
@ -4326,15 +4275,13 @@ initialization
RegisterTest(TTest_TBaseComplexRemotable.Suite);
RegisterTest(TTestSOAPFormatterAttributes.Suite);
RegisterTest(TTestBinaryFormatterAttributes.Suite);
RegisterTest(TTest_TDateRemotable.Suite);
RegisterTest(TTest_TDurationRemotable.Suite);
RegisterTest(TTest_TTimeRemotable.Suite);
RegisterTest(TTestXmlRpcFormatterAttributes.Suite);
RegisterTest(TTestXmlRpcFormatter.Suite);
RegisterTest(TTest_SoapFormatterExceptionBlock.Suite);
RegisterTest(TTest_XmlRpcFormatterExceptionBlock.Suite);
RegisterTest(TTest_BinaryFormatterExceptionBlock.Suite);
RegisterTest(TTest_TStringBufferRemotable.Suite);
{$ENDIF}

View File

@ -2,12 +2,12 @@
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="5"/>
<Version Value="6"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="15"/>
<ActiveEditorIndexAtStart Value="12"/>
</General>
<PublishOptions>
<Version Value="2"/>
@ -27,7 +27,7 @@
<PackageName Value="FPCUnitTestRunner"/>
</Item1>
</RequiredPackages>
<Units Count="72">
<Units Count="53">
<Unit0>
<Filename Value="wst_test_suite.lpr"/>
<IsPartOfProject Value="True"/>
@ -40,12 +40,12 @@
<Filename Value="testformatter_unit.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="testformatter_unit"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<CursorPos X="27" Y="1293"/>
<TopLine Value="1291"/>
<EditorIndex Value="0"/>
<UsageCount Value="200"/>
<Bookmarks Count="1">
<Item0 X="17" Y="1105" ID="3"/>
<Item0 X="17" Y="1099" ID="3"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit1>
@ -61,19 +61,19 @@
<Filename Value="..\..\soap_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="soap_formatter"/>
<CursorPos X="1" Y="188"/>
<TopLine Value="173"/>
<CursorPos X="41" Y="31"/>
<TopLine Value="17"/>
<EditorIndex Value="1"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="..\..\base_binary_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_binary_formatter"/>
<CursorPos X="1" Y="463"/>
<TopLine Value="448"/>
<EditorIndex Value="14"/>
<CursorPos X="46" Y="1584"/>
<TopLine Value="1579"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="..\..\base_service_intf.pas"/>
@ -81,11 +81,11 @@
<UnitName Value="base_service_intf"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="13"/>
<EditorIndex Value="10"/>
<UsageCount Value="200"/>
<Bookmarks Count="2">
<Item0 X="33" Y="1136" ID="0"/>
<Item1 X="5" Y="1190" ID="1"/>
<Item0 X="33" Y="1156" ID="0"/>
<Item1 X="5" Y="1210" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit5>
@ -93,9 +93,9 @@
<Filename Value="..\..\base_soap_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_soap_formatter"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<CursorPos X="20" Y="1658"/>
<TopLine Value="1649"/>
<EditorIndex Value="2"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit6>
@ -103,9 +103,11 @@
<Filename Value="..\..\binary_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="binary_formatter"/>
<CursorPos X="1" Y="125"/>
<TopLine Value="110"/>
<CursorPos X="35" Y="33"/>
<TopLine Value="14"/>
<EditorIndex Value="4"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
<Filename Value="..\..\binary_streamer.pas"/>
@ -154,12 +156,14 @@
<Filename Value="..\..\ws_helper\parserdefs.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="parserdefs"/>
<CursorPos X="61" Y="1028"/>
<TopLine Value="1009"/>
<CursorPos X="1" Y="1024"/>
<TopLine Value="1010"/>
<EditorIndex Value="5"/>
<UsageCount Value="202"/>
<Bookmarks Count="1">
<Item0 X="18" Y="1133" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="..\..\metadata_wsdl.pas"/>
@ -167,454 +171,321 @@
<UnitName Value="metadata_wsdl"/>
<CursorPos X="40" Y="836"/>
<TopLine Value="828"/>
<EditorIndex Value="3"/>
<UsageCount Value="206"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
<Filename Value="D:\Lazarus\fpcsrc\fcl\xml\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="15" Y="429"/>
<TopLine Value="413"/>
<UsageCount Value="1"/>
</Unit15>
<Unit16>
<Filename Value="..\..\server_service_intf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="server_service_intf"/>
<CursorPos X="25" Y="14"/>
<TopLine Value="97"/>
<UsageCount Value="203"/>
</Unit16>
<Unit17>
</Unit15>
<Unit16>
<Filename Value="..\..\service_intf.pas"/>
<UnitName Value="service_intf"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="15"/>
</Unit17>
<Unit18>
<Filename Value="..\..\imp_utils.pas"/>
<UnitName Value="imp_utils"/>
<CursorPos X="1" Y="105"/>
<TopLine Value="90"/>
<UsageCount Value="7"/>
</Unit18>
<Unit19>
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\xml\xmlread.pp"/>
<UnitName Value="XMLRead"/>
<CursorPos X="43" Y="13"/>
<TopLine Value="1"/>
<UsageCount Value="1"/>
</Unit19>
<Unit20>
</Unit16>
<Unit17>
<Filename Value="test_parserdef.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_parserdef"/>
<CursorPos X="93" Y="76"/>
<TopLine Value="11"/>
<UsageCount Value="200"/>
</Unit20>
<Unit21>
<Filename Value="..\..\wst.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit21>
<Unit22>
<Filename Value="..\test_fpc\interface_problem\interface_problem.pas"/>
<UnitName Value="interface_problem"/>
<CursorPos X="1" Y="10"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit22>
<Unit23>
</Unit17>
<Unit18>
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_xmlrpc_formatter"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="10"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit23>
<Unit24>
<Filename Value="..\..\ws_helper\pscanner.pp"/>
<UnitName Value="PScanner"/>
<CursorPos X="19" Y="505"/>
<TopLine Value="491"/>
<UsageCount Value="5"/>
</Unit24>
<Unit25>
</Unit18>
<Unit19>
<Filename Value="..\..\ws_helper\pascal_parser_intf.pas"/>
<UnitName Value="pascal_parser_intf"/>
<CursorPos X="3" Y="174"/>
<TopLine Value="165"/>
<EditorIndex Value="9"/>
<UsageCount Value="58"/>
<Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="..\..\ws_helper\pastree.pp"/>
<UnitName Value="PasTree"/>
<CursorPos X="3" Y="75"/>
<TopLine Value="68"/>
<UsageCount Value="5"/>
</Unit26>
<Unit27>
<UsageCount Value="59"/>
</Unit19>
<Unit20>
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="38" Y="225"/>
<TopLine Value="203"/>
<UsageCount Value="4"/>
</Unit27>
<Unit28>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="3"/>
</Unit28>
<Unit29>
<UsageCount Value="6"/>
</Unit20>
<Unit21>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\contnrs.pp"/>
<UnitName Value="contnrs"/>
<CursorPos X="3" Y="1376"/>
<TopLine Value="1370"/>
<UsageCount Value="4"/>
</Unit29>
<Unit30>
<Filename Value="..\..\wst_delphi.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit30>
<Unit31>
<UsageCount Value="6"/>
</Unit21>
<Unit22>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
<CursorPos X="8" Y="142"/>
<TopLine Value="197"/>
<UsageCount Value="4"/>
</Unit31>
<Unit32>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpas.inc"/>
<CursorPos X="11" Y="333"/>
<TopLine Value="375"/>
<UsageCount Value="8"/>
</Unit32>
<Unit33>
<UsageCount Value="6"/>
</Unit22>
<Unit23>
<Filename Value="..\..\wst_fpc_xml.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wst_fpc_xml"/>
<CursorPos X="65" Y="85"/>
<TopLine Value="56"/>
<UsageCount Value="201"/>
</Unit33>
<Unit34>
</Unit23>
<Unit24>
<Filename Value="test_utilities.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_utilities"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="49"/>
<EditorIndex Value="16"/>
<CursorPos X="59" Y="740"/>
<TopLine Value="714"/>
<EditorIndex Value="11"/>
<UsageCount Value="207"/>
<Loaded Value="True"/>
</Unit34>
<Unit35>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<CursorPos X="66" Y="231"/>
<TopLine Value="231"/>
<UsageCount Value="1"/>
</Unit35>
<Unit36>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\testregistry.pp"/>
<UnitName Value="testregistry"/>
<CursorPos X="11" Y="32"/>
<TopLine Value="17"/>
<UsageCount Value="3"/>
</Unit36>
<Unit37>
</Unit24>
<Unit25>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
<CursorPos X="21" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="0"/>
</Unit37>
<Unit38>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<UnitName Value="typinfo"/>
<CursorPos X="53" Y="41"/>
<TopLine Value="37"/>
<UsageCount Value="8"/>
</Unit38>
<Unit39>
<Filename Value="..\..\ws_helper\wsdl2pas_imp.pas"/>
<UnitName Value="wsdl2pas_imp"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="31"/>
<UsageCount Value="8"/>
</Unit39>
<Unit40>
<Filename Value="..\..\type_lib_edtr\umoduleedit.pas"/>
<ComponentName Value="fModuleEdit"/>
<HasResources Value="True"/>
<ResourceFilename Value="..\..\type_lib_edtr\umoduleedit.lrs"/>
<UnitName Value="umoduleedit"/>
<CursorPos X="47" Y="21"/>
<TopLine Value="18"/>
<UsageCount Value="8"/>
</Unit40>
<Unit41>
<Filename Value="..\..\type_lib_edtr\ubindingedit.pas"/>
<ComponentName Value="fBindingEdit"/>
<HasResources Value="True"/>
<ResourceFilename Value="..\..\type_lib_edtr\ubindingedit.lrs"/>
<UnitName Value="ubindingedit"/>
<CursorPos X="41" Y="21"/>
<TopLine Value="18"/>
<UsageCount Value="8"/>
</Unit41>
<Unit42>
<Filename Value="..\..\type_lib_edtr\ufarrayedit.pas"/>
<ComponentName Value="fArrayEdit"/>
<HasResources Value="True"/>
<ResourceFilename Value="..\..\type_lib_edtr\ufarrayedit.lrs"/>
<UnitName Value="ufarrayedit"/>
<CursorPos X="41" Y="9"/>
<TopLine Value="5"/>
<UsageCount Value="8"/>
</Unit42>
<Unit43>
<Filename Value="..\..\type_lib_edtr\uftypealiasedit.pas"/>
<ComponentName Value="fTypeAliasEdit"/>
<HasResources Value="True"/>
<ResourceFilename Value="..\..\type_lib_edtr\uftypealiasedit.lrs"/>
<UnitName Value="uftypealiasedit"/>
<CursorPos X="22" Y="9"/>
<TopLine Value="7"/>
<UsageCount Value="8"/>
</Unit43>
<Unit44>
<Filename Value="..\..\type_lib_edtr\ufrmsaveoption.pas"/>
<ComponentName Value="frmSaveOptions"/>
<HasResources Value="True"/>
<ResourceFilename Value="..\..\type_lib_edtr\ufrmsaveoption.lrs"/>
<UnitName Value="ufrmsaveoption"/>
<CursorPos X="22" Y="9"/>
<TopLine Value="6"/>
<UsageCount Value="8"/>
</Unit44>
<Unit45>
<UsageCount Value="2"/>
</Unit25>
<Unit26>
<Filename Value="..\..\server_service_xmlrpc.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="server_service_xmlrpc"/>
<CursorPos X="38" Y="33"/>
<TopLine Value="27"/>
<UsageCount Value="175"/>
</Unit45>
<Unit46>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlread.pp"/>
<UnitName Value="XMLRead"/>
<CursorPos X="3" Y="1205"/>
<TopLine Value="1203"/>
<UsageCount Value="6"/>
</Unit46>
<Unit47>
<Filename Value="..\..\xmlrpc_formatter.pas"/>
<UnitName Value="xmlrpc_formatter"/>
<CursorPos X="1" Y="169"/>
<TopLine Value="154"/>
<UsageCount Value="2"/>
</Unit47>
<Unit48>
<Filename Value="..\..\record_rtti.pas"/>
<UnitName Value="record_rtti"/>
<CursorPos X="37" Y="276"/>
<TopLine Value="265"/>
<UsageCount Value="6"/>
</Unit48>
<Unit49>
<Filename Value="..\..\wst_rtl_imp.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit49>
<Unit50>
<UsageCount Value="214"/>
</Unit26>
<Unit27>
<Filename Value="test_parsers.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_parsers"/>
<CursorPos X="50" Y="24"/>
<TopLine Value="1"/>
<EditorIndex Value="4"/>
<UsageCount Value="153"/>
<EditorIndex Value="7"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit50>
<Unit51>
</Unit27>
<Unit28>
<Filename Value="..\..\ws_helper\xsd_parser.pas"/>
<UnitName Value="xsd_parser"/>
<CursorPos X="17" Y="190"/>
<TopLine Value="188"/>
<EditorIndex Value="6"/>
<UsageCount Value="42"/>
<Loaded Value="True"/>
</Unit51>
<Unit52>
<UsageCount Value="35"/>
</Unit28>
<Unit29>
<Filename Value="..\..\ws_helper\parserutils.pas"/>
<UnitName Value="parserutils"/>
<CursorPos X="98" Y="94"/>
<TopLine Value="71"/>
<EditorIndex Value="8"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit52>
<Unit53>
<UsageCount Value="27"/>
</Unit29>
<Unit30>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\testregistry.pp"/>
<UnitName Value="testregistry"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="18"/>
<UsageCount Value="0"/>
</Unit53>
<Unit54>
<UsageCount Value="2"/>
</Unit30>
<Unit31>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<CursorPos X="33" Y="438"/>
<TopLine Value="431"/>
<EditorIndex Value="15"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit54>
<Unit55>
<UsageCount Value="5"/>
</Unit31>
<Unit32>
<Filename Value="..\..\ws_helper\ws_parser_imp.pas"/>
<UnitName Value="ws_parser_imp"/>
<CursorPos X="14" Y="91"/>
<TopLine Value="77"/>
<EditorIndex Value="7"/>
<UsageCount Value="41"/>
<Loaded Value="True"/>
</Unit55>
<Unit56>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpash.inc"/>
<CursorPos X="21" Y="151"/>
<TopLine Value="129"/>
<UsageCount Value="2"/>
</Unit56>
<Unit57>
<UsageCount Value="34"/>
</Unit32>
<Unit33>
<Filename Value="..\..\ws_helper\wsdl_generator.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wsdl_generator"/>
<CursorPos X="27" Y="146"/>
<TopLine Value="124"/>
<UsageCount Value="133"/>
</Unit57>
<Unit58>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-xml\src\xmlread.pp"/>
<UnitName Value="XMLRead"/>
<CursorPos X="1" Y="1975"/>
<TopLine Value="1963"/>
<UsageCount Value="1"/>
</Unit58>
<Unit59>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
<CursorPos X="11" Y="222"/>
<TopLine Value="219"/>
<UsageCount Value="2"/>
</Unit59>
<Unit60>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-base\src\inc\contnrs.pp"/>
<UnitName Value="contnrs"/>
<CursorPos X="3" Y="701"/>
<TopLine Value="698"/>
<UsageCount Value="2"/>
</Unit60>
<Unit61>
<UsageCount Value="219"/>
</Unit33>
<Unit34>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="xsd_generator"/>
<CursorPos X="3" Y="81"/>
<TopLine Value="261"/>
<EditorIndex Value="2"/>
<UsageCount Value="116"/>
<EditorIndex Value="6"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit61>
<Unit62>
</Unit34>
<Unit35>
<Filename Value="..\..\ws_helper\xsd_consts.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="xsd_consts"/>
<CursorPos X="8" Y="78"/>
<TopLine Value="51"/>
<UsageCount Value="115"/>
</Unit62>
<Unit63>
<UsageCount Value="201"/>
</Unit35>
<Unit36>
<Filename Value="..\..\ws_helper\wsdl_parser.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wsdl_parser"/>
<CursorPos X="28" Y="845"/>
<TopLine Value="835"/>
<EditorIndex Value="5"/>
<UsageCount Value="48"/>
<Loaded Value="True"/>
</Unit63>
<Unit64>
<UsageCount Value="135"/>
</Unit36>
<Unit37>
<Filename Value="..\..\base_json_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_json_formatter"/>
<CursorPos X="3" Y="361"/>
<TopLine Value="359"/>
<EditorIndex Value="11"/>
<UsageCount Value="101"/>
<CursorPos X="7" Y="383"/>
<TopLine Value="367"/>
<EditorIndex Value="8"/>
<UsageCount Value="188"/>
<Loaded Value="True"/>
</Unit64>
<Unit65>
</Unit37>
<Unit38>
<Filename Value="..\..\fcl-json\src\fpjson.pp"/>
<UnitName Value="fpjson"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="330"/>
<EditorIndex Value="12"/>
<UsageCount Value="50"/>
<Loaded Value="True"/>
</Unit65>
<Unit66>
<UsageCount Value="42"/>
</Unit38>
<Unit39>
<Filename Value="..\..\wst_types.pas"/>
<UnitName Value="wst_types"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="13"/>
<UsageCount Value="4"/>
</Unit66>
<Unit67>
<UsageCount Value="6"/>
</Unit39>
<Unit40>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\systemh.inc"/>
<CursorPos X="3" Y="389"/>
<TopLine Value="375"/>
<UsageCount Value="4"/>
</Unit67>
<Unit68>
<UsageCount Value="6"/>
</Unit40>
<Unit41>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlwrite.pp"/>
<UnitName Value="XMLWrite"/>
<CursorPos X="9" Y="609"/>
<TopLine Value="586"/>
<UsageCount Value="14"/>
</Unit68>
<Unit69>
<UsageCount Value="6"/>
</Unit41>
<Unit42>
<Filename Value="..\..\library_imp_utils.pas"/>
<UnitName Value="library_imp_utils"/>
<CursorPos X="82" Y="43"/>
<TopLine Value="19"/>
<EditorIndex Value="17"/>
<UsageCount Value="23"/>
<EditorIndex Value="13"/>
<UsageCount Value="67"/>
<Loaded Value="True"/>
</Unit69>
<Unit70>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\win\dynlibs.inc"/>
<CursorPos X="1" Y="26"/>
<TopLine Value="9"/>
<UsageCount Value="8"/>
</Unit70>
<Unit71>
</Unit42>
<Unit43>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="22" Y="351"/>
<TopLine Value="336"/>
<UsageCount Value="9"/>
</Unit71>
<UsageCount Value="1"/>
</Unit43>
<Unit44>
<Filename Value="test_support.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_support"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="12"/>
<UsageCount Value="107"/>
<Loaded Value="True"/>
</Unit44>
<Unit45>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\testutils.pp"/>
<UnitName Value="testutils"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="14"/>
<UsageCount Value="3"/>
</Unit45>
<Unit46>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
<CursorPos X="21" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="3"/>
</Unit46>
<Unit47>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<CursorPos X="1" Y="446"/>
<TopLine Value="432"/>
<UsageCount Value="7"/>
</Unit47>
<Unit48>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\math.pp"/>
<UnitName Value="math"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="59"/>
<UsageCount Value="3"/>
</Unit48>
<Unit49>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\typinfo.pp"/>
<UnitName Value="typinfo"/>
<CursorPos X="19" Y="270"/>
<TopLine Value="256"/>
<UsageCount Value="8"/>
</Unit49>
<Unit50>
<Filename Value="..\..\xmlrpc_formatter.pas"/>
<UnitName Value="xmlrpc_formatter"/>
<CursorPos X="1" Y="169"/>
<TopLine Value="155"/>
<EditorIndex Value="3"/>
<UsageCount Value="30"/>
<Loaded Value="True"/>
</Unit50>
<Unit51>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\rtl\objpas\classes\classesh.inc"/>
<CursorPos X="15" Y="344"/>
<TopLine Value="330"/>
<UsageCount Value="7"/>
</Unit51>
<Unit52>
<Filename Value="..\..\..\..\..\..\..\lazarus\fpc\2.2.1\source\packages\fcl-json\src\fpjson.pp"/>
<UnitName Value="fpjson"/>
<CursorPos X="3" Y="265"/>
<TopLine Value="320"/>
<EditorIndex Value="9"/>
<UsageCount Value="29"/>
<Loaded Value="True"/>
</Unit52>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
<JumpHistory Count="5" HistoryIndex="4">
<Position1>
<Filename Value="test_support.pas"/>
<Caret Line="927" Column="13" TopLine="908"/>
</Position1>
<Position2>
<Filename Value="test_support.pas"/>
<Caret Line="2149" Column="5" TopLine="2117"/>
</Position2>
<Position3>
<Filename Value="test_support.pas"/>
<Caret Line="2156" Column="27" TopLine="2146"/>
</Position3>
<Position4>
<Filename Value="..\..\base_service_intf.pas"/>
<Caret Line="4591" Column="12" TopLine="4577"/>
</Position4>
<Position5>
<Filename Value="test_support.pas"/>
<Caret Line="2111" Column="1" TopLine="2104"/>
</Position5>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
@ -652,22 +523,18 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<BreakPoints Count="1">
<Item1>
<Source Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-xml\src\xmlread.pp"/>
<Line Value="1975"/>
</Item1>
<Item2>
<Source Value="testformatter_unit.pas"/>
<Line Value="2979"/>
</Item2>
</BreakPoints>
<Watches Count="2">
<Item1>
<Expression Value="FScopeObject^.Name"/>
<Expression Value="c"/>
</Item1>
<Item2>
<Expression Value="AOwner^.DataType"/>
<Expression Value="i"/>
</Item2>
</Watches>
</Debugging>

View File

@ -17,7 +17,7 @@ uses
metadata_generator, parserdefs, server_service_intf, metadata_wsdl,
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities,
server_service_xmlrpc, test_parsers, wsdl_generator, xsd_generator,
xsd_consts, base_json_formatter, wsdl_parser;
xsd_consts, base_json_formatter, wsdl_parser, test_support;
Const
ShortOpts = 'alh';

View File

@ -2,19 +2,18 @@
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="5"/>
<Version Value="6"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="13"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
@ -32,15 +31,10 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="94">
<Units Count="26">
<Unit0>
<Filename Value="typ_lib_edtr.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="1" Y="21"/>
<TopLine Value="1"/>
<EditorIndex Value="13"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="uwsttypelibraryedit.pas"/>
@ -49,732 +43,159 @@
<IsPartOfProject Value="True"/>
<ResourceFilename Value="uwsttypelibraryedit.lrs"/>
<UnitName Value="uwsttypelibraryedit"/>
<CursorPos X="27" Y="171"/>
<TopLine Value="152"/>
<EditorIndex Value="0"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="..\ws_helper\parserdefs.pas"/>
<UnitName Value="parserdefs"/>
<CursorPos X="1" Y="35"/>
<TopLine Value="22"/>
<UsageCount Value="36"/>
</Unit2>
<Unit3>
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
<UnitName Value="wsdl2pas_imp"/>
<CursorPos X="61" Y="1902"/>
<TopLine Value="1879"/>
<UsageCount Value="98"/>
<Bookmarks Count="1">
<Item0 X="65" Y="790" ID="2"/>
</Bookmarks>
</Unit3>
<Unit4>
<Filename Value="wsdl_generator.pas"/>
<UnitName Value="wsdl_generator"/>
<CursorPos X="19" Y="5"/>
<TopLine Value="1"/>
<UsageCount Value="198"/>
</Unit4>
<Unit5>
<Filename Value="uabout.pas"/>
<ComponentName Value="fAbout"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="uabout.lrs"/>
<UnitName Value="uabout"/>
<CursorPos X="46" Y="22"/>
<TopLine Value="1"/>
<UsageCount Value="200"/>
</Unit5>
<Unit6>
</Unit2>
<Unit3>
<Filename Value="ufenumedit.pas"/>
<ComponentName Value="fEnumEdit"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ufenumedit.lrs"/>
<UnitName Value="ufEnumedit"/>
<CursorPos X="27" Y="78"/>
<TopLine Value="58"/>
<UsageCount Value="200"/>
</Unit6>
<Unit7>
</Unit3>
<Unit4>
<Filename Value="view_helper.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="view_helper"/>
<CursorPos X="6" Y="669"/>
<TopLine Value="652"/>
<EditorIndex Value="7"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
</Unit4>
<Unit5>
<Filename Value="..\ws_helper\source_utils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="source_utils"/>
<CursorPos X="1" Y="153"/>
<TopLine Value="138"/>
<EditorIndex Value="18"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
</Unit5>
<Unit6>
<Filename Value="edit_helper.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="edit_helper"/>
<CursorPos X="11" Y="717"/>
<TopLine Value="712"/>
<EditorIndex Value="10"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit9>
<Unit10>
</Unit6>
<Unit7>
<Filename Value="ufclassedit.pas"/>
<ComponentName Value="fClassEdit"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ufclassedit.lrs"/>
<UnitName Value="ufclassedit"/>
<CursorPos X="1" Y="118"/>
<TopLine Value="131"/>
<EditorIndex Value="14"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
</Unit7>
<Unit8>
<Filename Value="ufpropedit.pas"/>
<ComponentName Value="fPropEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ufpropedit.lrs"/>
<UnitName Value="ufpropedit"/>
<CursorPos X="58" Y="147"/>
<TopLine Value="129"/>
<EditorIndex Value="16"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit11>
<Unit12>
<Filename Value="..\..\..\..\lazarus23_213\lcl\comctrls.pp"/>
<UnitName Value="ComCtrls"/>
<CursorPos X="15" Y="1781"/>
<TopLine Value="1768"/>
<UsageCount Value="5"/>
</Unit12>
<Unit13>
<Filename Value="..\ws_helper\parserutils.pas"/>
<UnitName Value="parserutils"/>
<CursorPos X="1" Y="142"/>
<TopLine Value="128"/>
<EditorIndex Value="11"/>
<UsageCount Value="101"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\i386\i386.inc"/>
<CursorPos X="2" Y="1284"/>
<TopLine Value="1263"/>
<UsageCount Value="2"/>
</Unit14>
<Unit15>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\except.inc"/>
<CursorPos X="1" Y="223"/>
<TopLine Value="209"/>
<UsageCount Value="2"/>
</Unit15>
<Unit16>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\objpas.inc"/>
<CursorPos X="1" Y="152"/>
<TopLine Value="138"/>
<UsageCount Value="4"/>
</Unit16>
<Unit17>
<Filename Value="ufclassedit.lrs"/>
<CursorPos X="39" Y="2"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit17>
<Unit18>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\wstrings.inc"/>
<CursorPos X="1" Y="317"/>
<TopLine Value="303"/>
<UsageCount Value="5"/>
</Unit18>
<Unit19>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="3" Y="2064"/>
<TopLine Value="2041"/>
<UsageCount Value="5"/>
</Unit19>
<Unit20>
<Filename Value="..\..\..\..\lazarus23_213\lcl\stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<CursorPos X="24" Y="362"/>
<TopLine Value="348"/>
<UsageCount Value="4"/>
</Unit20>
<Unit21>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\classes\classesh.inc"/>
<CursorPos X="12" Y="64"/>
<TopLine Value="49"/>
<UsageCount Value="4"/>
</Unit21>
<Unit22>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\classes\stringl.inc"/>
<CursorPos X="15" Y="1071"/>
<TopLine Value="1056"/>
<UsageCount Value="4"/>
</Unit22>
<Unit23>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\types.pp"/>
<UnitName Value="types"/>
<CursorPos X="6" Y="15"/>
<TopLine Value="1"/>
<UsageCount Value="4"/>
</Unit23>
<Unit24>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\sysstrh.inc"/>
<CursorPos X="10" Y="104"/>
<TopLine Value="90"/>
<UsageCount Value="4"/>
</Unit24>
<Unit25>
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\sysstr.inc"/>
<CursorPos X="1" Y="689"/>
<TopLine Value="686"/>
<UsageCount Value="4"/>
</Unit25>
<Unit26>
</Unit8>
<Unit9>
<Filename Value="uinterfaceedit.pas"/>
<ComponentName Value="fInterfaceEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="uinterfaceedit.lrs"/>
<UnitName Value="uinterfaceedit"/>
<CursorPos X="86" Y="277"/>
<TopLine Value="266"/>
<UsageCount Value="200"/>
</Unit26>
<Unit27>
<Filename Value="uinterfaceedit.lfm"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="4"/>
<SyntaxHighlighter Value="LFM"/>
</Unit27>
<Unit28>
</Unit9>
<Unit10>
<Filename Value="udm.pas"/>
<ComponentName Value="DM"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="udm.lrs"/>
<UnitName Value="udm"/>
<CursorPos X="15" Y="2"/>
<TopLine Value="1"/>
<UsageCount Value="203"/>
</Unit28>
<Unit29>
</Unit10>
<Unit11>
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="pascal_parser_intf"/>
<CursorPos X="1" Y="778"/>
<TopLine Value="764"/>
<EditorIndex Value="19"/>
<UsageCount Value="221"/>
<Loaded Value="True"/>
</Unit29>
<Unit30>
</Unit11>
<Unit12>
<Filename Value="..\ws_helper\pparser.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="PParser"/>
<CursorPos X="18" Y="1148"/>
<TopLine Value="1126"/>
<UsageCount Value="221"/>
</Unit30>
<Unit31>
<Filename Value="..\ws_helper\logger_intf.pas"/>
<UnitName Value="logger_intf"/>
<CursorPos X="2" Y="12"/>
<TopLine Value="37"/>
<UsageCount Value="30"/>
</Unit31>
<Unit32>
</Unit12>
<Unit13>
<Filename Value="..\ws_helper\pastree.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="PasTree"/>
<CursorPos X="24" Y="296"/>
<TopLine Value="274"/>
<UsageCount Value="221"/>
</Unit32>
<Unit33>
<Filename Value="..\..\..\..\lazarus_23_215\lcl\include\treeview.inc"/>
<CursorPos X="35" Y="71"/>
<TopLine Value="58"/>
<UsageCount Value="8"/>
</Unit33>
<Unit34>
<Filename Value="umain.lrs"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="1"/>
</Unit34>
<Unit35>
<Filename Value="..\wst_rtti_filter\rtti_filters.pas"/>
<UnitName Value="rtti_filters"/>
<CursorPos X="1" Y="579"/>
<TopLine Value="565"/>
<EditorIndex Value="5"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit35>
<Unit36>
</Unit13>
<Unit14>
<Filename Value="..\ws_helper\generator.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="generator"/>
<CursorPos X="1" Y="2514"/>
<TopLine Value="2475"/>
<EditorIndex Value="12"/>
<UsageCount Value="138"/>
<Bookmarks Count="1">
<Item0 X="36" Y="2046" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit36>
<Unit37>
<Filename Value="..\wst_rtti_filter\dom_cursors.pas"/>
<UnitName Value="dom_cursors"/>
<CursorPos X="1" Y="273"/>
<TopLine Value="259"/>
<EditorIndex Value="4"/>
<UsageCount Value="31"/>
<Loaded Value="True"/>
</Unit37>
<Unit38>
<Filename Value="..\ws_helper\command_line_parser.pas"/>
<UnitName Value="command_line_parser"/>
<CursorPos X="20" Y="31"/>
<TopLine Value="17"/>
<UsageCount Value="15"/>
</Unit38>
<Unit39>
<Filename Value="..\..\..\..\..\lazarus_23_215\lcl\forms.pp"/>
<UnitName Value="Forms"/>
<CursorPos X="44" Y="10"/>
<TopLine Value="1"/>
<UsageCount Value="1"/>
</Unit39>
<Unit40>
<Filename Value="..\ws_helper\pscanner.pp"/>
<UnitName Value="PScanner"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="322"/>
<UsageCount Value="4"/>
</Unit40>
<Unit41>
<Filename Value="..\ws_helper\metadata_generator.pas"/>
<UnitName Value="metadata_generator"/>
<CursorPos X="11" Y="20"/>
<TopLine Value="14"/>
<UsageCount Value="1"/>
</Unit41>
<Unit42>
<Filename Value="..\ide\lazarus\wst_register.pas"/>
<UnitName Value="wst_register"/>
<CursorPos X="42" Y="6"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit42>
<Unit43>
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\menuintf.pas"/>
<UnitName Value="MenuIntf"/>
<CursorPos X="53" Y="417"/>
<TopLine Value="409"/>
<UsageCount Value="2"/>
</Unit43>
<Unit44>
<Filename Value="..\ide\lazarus\wstimportdlg.pas"/>
<ComponentName Value="formImport"/>
<HasResources Value="True"/>
<UnitName Value="wstimportdlg"/>
<CursorPos X="29" Y="60"/>
<TopLine Value="154"/>
<UsageCount Value="5"/>
</Unit44>
<Unit45>
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\lazideintf.pas"/>
<UnitName Value="LazIDEIntf"/>
<CursorPos X="33" Y="174"/>
<TopLine Value="162"/>
<UsageCount Value="1"/>
</Unit45>
<Unit46>
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\projectintf.pas"/>
<UnitName Value="ProjectIntf"/>
<CursorPos X="3" Y="284"/>
<TopLine Value="262"/>
<UsageCount Value="1"/>
</Unit46>
<Unit47>
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\idecommands.pas"/>
<UnitName Value="IDECommands"/>
<CursorPos X="47" Y="291"/>
<TopLine Value="279"/>
<UsageCount Value="1"/>
</Unit47>
<Unit48>
</Unit14>
<Unit15>
<Filename Value="uprocedit.pas"/>
<ComponentName Value="fProcEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="uprocedit.lrs"/>
<UnitName Value="uprocedit"/>
<CursorPos X="2" Y="12"/>
<TopLine Value="1"/>
<UsageCount Value="177"/>
</Unit48>
<Unit49>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\comctrls.pp"/>
<UnitName Value="ComCtrls"/>
<CursorPos X="3" Y="2218"/>
<TopLine Value="2218"/>
<UsageCount Value="8"/>
</Unit49>
<Unit50>
</Unit15>
<Unit16>
<Filename Value="common_gui_utils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="common_gui_utils"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="15"/>
<UsageCount Value="175"/>
<Loaded Value="True"/>
</Unit50>
<Unit51>
<Filename Value="..\..\..\..\..\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DestBug.pas"/>
<UnitName Value="DestBug"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="1"/>
</Unit51>
<Unit52>
</Unit16>
<Unit17>
<Filename Value="uargedit.pas"/>
<ComponentName Value="fArgEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="uargedit.lrs"/>
<UnitName Value="uargedit"/>
<CursorPos X="2" Y="12"/>
<TopLine Value="1"/>
<UsageCount Value="168"/>
</Unit52>
<Unit53>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\interfaces\win32\win32wscontrols.pp"/>
<UnitName Value="Win32WSControls"/>
<CursorPos X="1" Y="226"/>
<TopLine Value="212"/>
<UsageCount Value="2"/>
</Unit53>
<Unit54>
<Filename Value="umain.lfm"/>
<CursorPos X="19" Y="1822"/>
<TopLine Value="1858"/>
<UsageCount Value="2"/>
<SyntaxHighlighter Value="LFM"/>
</Unit54>
<Unit55>
</Unit17>
<Unit18>
<Filename Value="umoduleedit.pas"/>
<ComponentName Value="fModuleEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="umoduleedit.lrs"/>
<UnitName Value="umoduleedit"/>
<CursorPos X="2" Y="12"/>
<TopLine Value="1"/>
<UsageCount Value="160"/>
</Unit55>
<Unit56>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<CursorPos X="3" Y="1020"/>
<TopLine Value="1006"/>
<UsageCount Value="2"/>
</Unit56>
<Unit57>
</Unit18>
<Unit19>
<Filename Value="ubindingedit.pas"/>
<ComponentName Value="fBindingEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ubindingedit.lrs"/>
<UnitName Value="ubindingedit"/>
<CursorPos X="2" Y="12"/>
<TopLine Value="1"/>
<UsageCount Value="150"/>
</Unit57>
<Unit58>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
<CursorPos X="26" Y="158"/>
<TopLine Value="135"/>
<UsageCount Value="3"/>
</Unit58>
<Unit59>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpas.inc"/>
<CursorPos X="11" Y="550"/>
<TopLine Value="645"/>
<UsageCount Value="3"/>
</Unit59>
<Unit60>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\classes\classesh.inc"/>
<CursorPos X="15" Y="257"/>
<TopLine Value="233"/>
<UsageCount Value="8"/>
</Unit60>
<Unit61>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\classes\lists.inc"/>
<CursorPos X="3" Y="537"/>
<TopLine Value="535"/>
<UsageCount Value="8"/>
</Unit61>
<Unit62>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\contnrs.pp"/>
<UnitName Value="contnrs"/>
<CursorPos X="15" Y="167"/>
<TopLine Value="145"/>
<UsageCount Value="8"/>
</Unit62>
<Unit63>
</Unit19>
<Unit20>
<Filename Value="ufrmsaveoption.pas"/>
<ComponentName Value="frmSaveOptions"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ufrmsaveoption.lrs"/>
<UnitName Value="ufrmsaveoption"/>
<CursorPos X="42" Y="64"/>
<TopLine Value="42"/>
<UsageCount Value="146"/>
</Unit63>
<Unit64>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\dialogs.pp"/>
<UnitName Value="Dialogs"/>
<CursorPos X="3" Y="44"/>
<TopLine Value="27"/>
<UsageCount Value="3"/>
</Unit64>
<Unit65>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="3" Y="1459"/>
<TopLine Value="1455"/>
<UsageCount Value="3"/>
</Unit65>
<Unit66>
<Filename Value="..\wst_rtti_filter\cursor_intf.pas"/>
<UnitName Value="cursor_intf"/>
<CursorPos X="1" Y="107"/>
<TopLine Value="93"/>
<EditorIndex Value="3"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit66>
<Unit67>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\include\control.inc"/>
<CursorPos X="1" Y="2403"/>
<TopLine Value="2390"/>
<UsageCount Value="3"/>
</Unit67>
<Unit68>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\include\customform.inc"/>
<CursorPos X="1" Y="1417"/>
<TopLine Value="1398"/>
<UsageCount Value="3"/>
</Unit68>
<Unit69>
</Unit20>
<Unit21>
<Filename Value="ufarrayedit.pas"/>
<ComponentName Value="fArrayEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ufarrayedit.lrs"/>
<UnitName Value="ufarrayedit"/>
<CursorPos X="67" Y="117"/>
<TopLine Value="95"/>
<UsageCount Value="130"/>
</Unit69>
<Unit70>
</Unit21>
<Unit22>
<Filename Value="uftypealiasedit.pas"/>
<ComponentName Value="fTypeAliasEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="uftypealiasedit.lrs"/>
<UnitName Value="uftypealiasedit"/>
<CursorPos X="21" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="121"/>
</Unit70>
<Unit71>
<Filename Value="..\..\..\..\..\Documents and Settings\Administrateur\Bureau\ACER\n\AWSECommerceService.pas"/>
<UnitName Value="AWSECommerceService"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="15"/>
</Unit71>
<Unit72>
<Filename Value="..\..\..\..\..\Documents and Settings\Administrateur\Bureau\ACER\n\AWSECommerceService_proxy.pas"/>
<UnitName Value="AWSECommerceService_proxy"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="15"/>
</Unit72>
<Unit73>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<UnitName Value="typinfo"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="22"/>
<UsageCount Value="5"/>
</Unit73>
<Unit74>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<CursorPos X="10" Y="84"/>
<TopLine Value="57"/>
<UsageCount Value="5"/>
</Unit74>
<Unit75>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysansih.inc"/>
<CursorPos X="10" Y="24"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit75>
<Unit76>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysansi.inc"/>
<CursorPos X="13" Y="51"/>
<TopLine Value="42"/>
<UsageCount Value="5"/>
</Unit76>
<Unit77>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\systemh.inc"/>
<CursorPos X="11" Y="577"/>
<TopLine Value="562"/>
<UsageCount Value="5"/>
</Unit77>
<Unit78>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\astrings.inc"/>
<CursorPos X="3" Y="747"/>
<TopLine Value="742"/>
<UsageCount Value="5"/>
</Unit78>
<Unit79>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\classes\streams.inc"/>
<CursorPos X="7" Y="124"/>
<TopLine Value="117"/>
<UsageCount Value="6"/>
</Unit79>
<Unit80>
<Filename Value="..\wst_global.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit80>
<Unit81>
</Unit22>
<Unit23>
<Filename Value="ufrecordedit.pas"/>
<ComponentName Value="fRecordEdit"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="ufrecordedit.lrs"/>
<UnitName Value="ufrecordedit"/>
<CursorPos X="35" Y="99"/>
<TopLine Value="78"/>
<EditorIndex Value="17"/>
<UsageCount Value="87"/>
<Loaded Value="True"/>
</Unit81>
<Unit82>
</Unit23>
<Unit24>
<Filename Value="..\ws_helper\wsdl_generator.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wsdl_generator"/>
<CursorPos X="35" Y="21"/>
<TopLine Value="1"/>
<EditorIndex Value="8"/>
<UsageCount Value="58"/>
<Loaded Value="True"/>
</Unit82>
<Unit83>
<Filename Value="..\ws_helper\wsdl_parser.pas"/>
<UnitName Value="wsdl_parser"/>
<CursorPos X="1" Y="712"/>
<TopLine Value="698"/>
<EditorIndex Value="1"/>
<UsageCount Value="24"/>
<Loaded Value="True"/>
</Unit83>
<Unit84>
</Unit24>
<Unit25>
<Filename Value="..\ws_helper\xsd_parser.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="xsd_parser"/>
<CursorPos X="1" Y="331"/>
<TopLine Value="317"/>
<EditorIndex Value="2"/>
<UsageCount Value="45"/>
<Loaded Value="True"/>
</Unit84>
<Unit85>
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
<CursorPos X="1" Y="58"/>
<TopLine Value="43"/>
<UsageCount Value="8"/>
</Unit85>
<Unit86>
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\except.inc"/>
<CursorPos X="1" Y="95"/>
<TopLine Value="80"/>
<UsageCount Value="8"/>
</Unit86>
<Unit87>
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\i386\setjump.inc"/>
<CursorPos X="1" Y="36"/>
<TopLine Value="21"/>
<UsageCount Value="8"/>
</Unit87>
<Unit88>
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\i386\i386.inc"/>
<CursorPos X="1" Y="1250"/>
<TopLine Value="1235"/>
<UsageCount Value="8"/>
</Unit88>
<Unit89>
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\win32\classes.pp"/>
<UnitName Value="Classes"/>
<CursorPos X="1" Y="50"/>
<TopLine Value="21"/>
<UsageCount Value="8"/>
</Unit89>
<Unit90>
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\objpas\classes\intf.inc"/>
<CursorPos X="1" Y="35"/>
<TopLine Value="194"/>
<UsageCount Value="8"/>
</Unit90>
<Unit91>
<Filename Value="..\ws_helper\ws_parser_imp.pas"/>
<UnitName Value="ws_parser_imp"/>
<CursorPos X="1" Y="1274"/>
<TopLine Value="1260"/>
<EditorIndex Value="6"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit91>
<Unit92>
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\include\containedaction.inc"/>
<CursorPos X="1" Y="110"/>
<TopLine Value="96"/>
<UsageCount Value="8"/>
</Unit92>
<Unit93>
<Filename Value="..\ws_helper\xsd_generator.pas"/>
<UnitName Value="xsd_generator"/>
<CursorPos X="1" Y="514"/>
<TopLine Value="500"/>
<EditorIndex Value="9"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit93>
</Unit25>
</Units>
<JumpHistory Count="1" HistoryIndex="0">
<Position1>
<Filename Value="typ_lib_edtr.lpr"/>
<Caret Line="21" Column="1" TopLine="1"/>
</Position1>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
@ -799,7 +220,6 @@
<Linking>
<Debugging>
<GenerateDebugInfo Value="True"/>
<StripSymbols Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
<Options>
@ -812,24 +232,4 @@
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<Item1>
<Source Value="..\ws_helper\wsdl_parser.pas"/>
<Line Value="1045"/>
</Item1>
<Item2>
<Source Value="..\ws_helper\wsdl_parser.pas"/>
<Line Value="1042"/>
</Item2>
</BreakPoints>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -1,3 +1,5 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfClassEdit','FORMDATA',[
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#16#1#6'Height'#3'#'#2#3'Top'#2
+'*'#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'VertScrollBar.Page'#3'"'#2

View File

@ -251,7 +251,8 @@ begin
end;
end;
if Assigned(FObject.AncestorType) then begin
edtParent.ItemIndex := edtParent.Items.IndexOfObject(FObject.AncestorType);
//edtParent.ItemIndex := edtParent.Items.IndexOfObject(FObject.AncestorType);
edtParent.ItemIndex := edtParent.Items.IndexOfObject(FSymbolTable.FindElement(FSymbolTable.GetExternalName(FObject.AncestorType)));
end;
end else begin
Self.Caption := 'New';
@ -287,7 +288,8 @@ begin
if ( FOldAncestor <> nil ) then
FOldAncestor.Release();
locObj.AncestorType := trueParent;
locObj.AncestorType.AddRef();
if Assigned(locObj.AncestorType) then
locObj.AncestorType.AddRef();
end;
end;

View File

@ -1,19 +1,23 @@
object frmSaveOptions: TfrmSaveOptions
Left = 775
Height = 292
Top = 93
Left = 404
Height = 322
Top = 208
Width = 402
HorzScrollBar.Page = 401
VertScrollBar.Page = 291
VertScrollBar.Page = 321
ActiveControl = edtInterface
BorderStyle = bsSizeToolWin
Caption = 'Export file options ...'
ClientHeight = 322
ClientWidth = 402
Position = poMainFormCenter
object Panel1: TPanel
Height = 50
Top = 242
Top = 272
Width = 402
Align = alBottom
ClientHeight = 50
ClientWidth = 402
TabOrder = 0
object Button1: TButton
Left = 312
@ -40,9 +44,11 @@ object frmSaveOptions: TfrmSaveOptions
end
end
object Panel2: TPanel
Height = 242
Height = 272
Width = 402
Align = alClient
ClientHeight = 272
ClientWidth = 402
TabOrder = 1
object Label1: TLabel
Left = 16
@ -50,48 +56,49 @@ object frmSaveOptions: TfrmSaveOptions
Top = 16
Width = 81
Caption = 'Output directory'
Color = clNone
ParentColor = False
end
object GroupBox1: TGroupBox
Left = 16
Height = 134
Height = 137
Top = 80
Width = 369
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = ' File type '
ClientHeight = 119
ClientWidth = 365
TabOrder = 0
object edtInterface: TCheckBox
Left = 14
Height = 13
Height = 19
Top = 16
Width = 62
Width = 68
Caption = 'Interface'
TabOrder = 0
end
object edtProxy: TCheckBox
Left = 14
Height = 13
Top = 72
Width = 46
Height = 19
Top = 73
Width = 52
Anchors = [akLeft, akBottom]
Caption = 'Proxy'
TabOrder = 1
end
object edtImplementation: TCheckBox
Left = 245
Height = 13
Left = 235
Height = 19
Top = 14
Width = 91
Width = 97
Anchors = [akTop, akRight]
Caption = 'Implementation'
TabOrder = 2
end
object edtBinder: TCheckBox
Left = 245
Height = 13
Top = 72
Width = 50
Left = 235
Height = 19
Top = 73
Width = 56
Anchors = [akRight, akBottom]
Caption = 'Binder'
TabOrder = 3
@ -116,10 +123,30 @@ object frmSaveOptions: TfrmSaveOptions
OnClick = btnSelectDirClick
TabOrder = 2
end
object btnSelectAll: TButton
Left = 16
Height = 25
Top = 233
Width = 100
Anchors = [akLeft, akBottom]
Caption = 'Select All'
OnClick = btnSelectAllClick
TabOrder = 3
end
object btnUnselectAll: TButton
Left = 256
Height = 25
Top = 233
Width = 100
Anchors = [akRight, akBottom]
Caption = 'Unselect All'
OnClick = btnUnselectAllClick
TabOrder = 4
end
end
object AL: TActionList
left = 144
top = 160
top = 128
object actOK: TAction
Caption = 'OK'
DisableIfNoHandler = True

View File

@ -1,39 +1,47 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfrmSaveOptions','FORMDATA',[
'TPF0'#15'TfrmSaveOptions'#14'frmSaveOptions'#4'Left'#3#7#3#6'Height'#3'$'#1#3
+'Top'#2']'#5'Width'#3#146#1#18'HorzScrollBar.Page'#3#145#1#18'VertScrollBar.'
+'Page'#3'#'#1#13'ActiveControl'#7#12'edtInterface'#11'BorderStyle'#7#13'bsSi'
+'zeToolWin'#7'Caption'#6#23'Export file options ...'#8'Position'#7#16'poMain'
+'FormCenter'#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3#242#0#5'Width'#3
+#146#1#5'Align'#7#8'alBottom'#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'
+#3'8'#1#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'ak'
+'Right'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cance'
+'l'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3
+#224#0#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#6'Action'#7#5'actOK'#7'Ancho'
+'rs'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Default'#9
+#8'TabOrder'#2#1#0#0#0#6'TPanel'#6'Panel2'#6'Height'#3#242#0#5'Width'#3#146#1
+#5'Align'#7#8'alClient'#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#4'Left'#2#16#6
+'Height'#2#14#3'Top'#2#16#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#5
+'Color'#7#6'clNone'#11'ParentColor'#8#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2
+#16#6'Height'#3#134#0#3'Top'#2'P'#5'Width'#3'q'#1#7'Anchors'#11#5'akTop'#6'a'
+'kLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#13' File type '#8'TabOrder'#2
+#0#0#9'TCheckBox'#12'edtInterface'#4'Left'#2#14#6'Height'#2#13#3'Top'#2#16#5
+'Width'#2'>'#7'Caption'#6#9'Interface'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'ed'
+'tProxy'#4'Left'#2#14#6'Height'#2#13#3'Top'#2'H'#5'Width'#2'.'#7'Anchors'#11
+#6'akLeft'#8'akBottom'#0#7'Caption'#6#5'Proxy'#8'TabOrder'#2#1#0#0#9'TCheckB'
+'ox'#17'edtImplementation'#4'Left'#3#245#0#6'Height'#2#13#3'Top'#2#14#5'Widt'
+'h'#2'['#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Caption'#6#14'Implementation'
+#8'TabOrder'#2#2#0#0#9'TCheckBox'#9'edtBinder'#4'Left'#3#245#0#6'Height'#2#13
+#3'Top'#2'H'#5'Width'#2'2'#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'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'btnSe'
+'lectDirClick'#8'TabOrder'#2#2#0#0#0#11'TActionList'#2'AL'#4'left'#3#144#0#3
+'top'#3#160#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'
+#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#22'TS'
+'electDirectoryDialog'#2'SD'#5'Title'#6#21'Choisir un r'#233'pertoire'#11'Fi'
+'lterIndex'#2#0#4'left'#2'e'#3'top'#3#142#0#0#0#0
'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
+'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'
+'om'#12'ClientHeight'#2'2'#11'ClientWidth'#3#146#1#8'TabOrder'#2#0#0#7'TButt'
+'on'#7'Button1'#4'Left'#3'8'#1#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#7'An'
+'chors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'
+#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'
+#7'Button2'#4'Left'#3#224#0#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#6'Actio'
+'n'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBor'
+'der'#2#4#7'Default'#9#8'TabOrder'#2#1#0#0#0#6'TPanel'#6'Panel2'#6'Height'#3
+#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
]);

View File

@ -18,6 +18,8 @@ type
Button1 : TButton;
Button2 : TButton;
btnSelectDir : TButton;
btnSelectAll: TButton;
btnUnselectAll: TButton;
edtInterface : TCheckBox;
edtProxy : TCheckBox;
edtImplementation : TCheckBox;
@ -30,9 +32,11 @@ type
SD : TSelectDirectoryDialog;
procedure actOKExecute (Sender : TObject );
procedure actOKUpdate (Sender : TObject );
procedure btnSelectAllClick(Sender: TObject);
procedure btnSelectDirClick (Sender : TObject );
procedure btnUnselectAllClick(Sender: TObject);
private
{ private declarations }
procedure SelectAll(const ADoSelect : Boolean);
public
{ public declarations }
end;
@ -53,6 +57,11 @@ begin
);
end;
procedure TfrmSaveOptions.btnSelectAllClick(Sender: TObject);
begin
SelectAll(True);
end;
procedure TfrmSaveOptions.btnSelectDirClick (Sender : TObject );
begin
SD.FileName := edtOutputDir.Text;
@ -61,6 +70,20 @@ begin
end;
end;
procedure TfrmSaveOptions.btnUnselectAllClick(Sender: TObject);
begin
SelectAll(False);
end;
procedure TfrmSaveOptions.SelectAll(const ADoSelect: Boolean);
begin
edtBinder.Checked := ADoSelect;
edtImplementation.Checked := edtBinder.Checked;
edtImplementation.Checked := edtBinder.Checked;
edtInterface.Checked := edtBinder.Checked;
edtProxy.Checked := edtBinder.Checked;
end;
procedure TfrmSaveOptions.actOKExecute (Sender : TObject );
begin

View File

@ -442,11 +442,15 @@ Var
resPrm : TPasResultElement;
prms : TList;
Begin
prms := AMthd.ProcType.Args;
prmCnt := prms.Count;
IncIndent();
WriteLn('Var');
Indent();WriteLn('%s : %s;',[sLOC_SERIALIZER,sSERIALIZER_CLASS]);
Indent();WriteLn('%s : %s;',[sPRM_NAME,'string']);
if ( prmCnt > 0 ) or AMthd.InheritsFrom(TPasFunction) then begin
Indent();WriteLn('%s : %s;',[sPRM_NAME,'string']);
end;
WriteLn('Begin');
@ -455,8 +459,6 @@ Var
Indent();WriteLn('%s.BeginCall(''%s'', GetTarget(),(Self as ICallContext));',[sLOC_SERIALIZER,SymbolTable.GetExternalName(AMthd)]);
IncIndent();
prms := AMthd.ProcType.Args;
prmCnt := prms.Count;
for k := 0 To Pred(prmCnt) do begin
prm := TPasArgument(prms[k]);
If ( prm.Access <> argOut ) Then Begin
@ -821,8 +823,8 @@ Var
WriteLn('callCtx : ICallContext;');
if ( prmCnt > 0 ) or AMthd.InheritsFrom(TPasFunction) then begin
WriteLn('%s : string;',[sPRM_NAME]);
WriteLn('procName,trgName : string;');
end;
WriteLn('procName,trgName : string;');
if ( prmCnt > 0 ) then begin
for k := 0 to Pred(prmCnt) do begin
prm := TPasArgument(prms[k]);
@ -1929,6 +1931,7 @@ procedure TInftGenerator.GenerateArray(ASymbol: TPasArrayType);
WriteLn('public');
Indent();WriteLn('class function GetItemTypeInfo():PTypeInfo;override;');
Indent();WriteLn('procedure SetLength(const ANewSize : Integer);override;');
Indent();WriteLn('procedure Assign(Source: TPersistent); override;');
Indent();WriteLn('property Item[AIndex:Integer] : %s read GetItem write SetItem; default;',[ASymbol.ElType.Name]);
WriteLn('end;');
finally
@ -2006,6 +2009,32 @@ procedure TInftGenerator.GenerateArray(ASymbol: TPasArrayType);
Indent();WriteLn('System.SetLength(FData,i);');
DecIndent();
WriteLn('end;');
NewLine();
IncIndent();
WriteLn('procedure %s.Assign(Source: TPersistent);',[ASymbol.Name]);
WriteLn('var');
Indent();WriteLn('src : %s;',[ASymbol.Name]);
Indent();WriteLn('i, c : PtrInt;');
WriteLn('begin');
Indent();WriteLn('if Assigned(Source) and Source.InheritsFrom(%s) then begin',[ASymbol.Name]);
IncIndent();
Indent();WriteLn('src := %s(Source);',[ASymbol.Name]);
Indent();WriteLn('c := src.Length;');
Indent();WriteLn('Self.SetLength(c);');
Indent();WriteLn('if ( c > 0 ) then begin');
IncIndent();
Indent();WriteLn('for i := 0 to Pred(c) do begin');
IncIndent(); Indent(); WriteLn('Self[i] := src[i];'); DecIndent();
Indent();WriteLn('end;');
DecIndent();
Indent();WriteLn('end;');
DecIndent();
Indent();WriteLn('end else begin');
IncIndent(); Indent(); WriteLn('inherited Assign(Source);'); DecIndent();
Indent();WriteLn('end;');
DecIndent();
WriteLn('end;');
end;
var

View File

@ -502,6 +502,8 @@ var
typeCategory : TTypeCategory;
hasSequence : Boolean;
trueParent : TPasType;
isEmbeddedArray : Boolean;
propItmUltimeType : TPasType;
begin
inherited;
typItm := ASymbol as TPasClassType;
@ -584,8 +586,11 @@ begin
propTypItm := p.VarType;
if Assigned(propTypItm) then begin
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm),ADocument);
if GetUltimeType(propTypItm).InheritsFrom(TPasArrayType) then
s := AContainer.GetExternalName(TPasArrayType(GetUltimeType(propTypItm)).ElType)
propItmUltimeType := GetUltimeType(propTypItm);
isEmbeddedArray := propItmUltimeType.InheritsFrom(TPasArrayType) and
( AContainer.GetArrayStyle(TPasArrayType(propItmUltimeType)) = asEmbeded );
if isEmbeddedArray then
s := AContainer.GetExternalName(TPasArrayType(propItmUltimeType).ElType)
else
s := AContainer.GetExternalName(propTypItm);
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,s]));
@ -599,7 +604,7 @@ begin
propNode.SetAttribute(s_minOccurs,'0');
{else
propNode.SetAttribute(s_minOccurs,'1');}
if GetUltimeType(propTypItm).InheritsFrom(TPasArrayType) then
if isEmbeddedArray then
propNode.SetAttribute(s_maxOccurs,s_unbounded)
{else
propNode.SetAttribute(s_maxOccurs,'1');}

View File

@ -14,6 +14,7 @@
{$ENDIF}
{$IFNDEF FPC}
{$DEFINE WST_DELPHI}
{$UNDEF HAS_QWORD}
{$UNDEF USE_INLINE}
{$DEFINE WST_RECORD_RTTI}