diff --git a/wst/trunk/metadata_repository.pas b/wst/trunk/metadata_repository.pas index 3da860215..3a1e50221 100644 --- a/wst/trunk/metadata_repository.pas +++ b/wst/trunk/metadata_repository.pas @@ -19,7 +19,6 @@ uses Classes, SysUtils, TypInfo; const - sWST_SIGNATURE = 'WST_METADATA_0.2.2.0'; sWST_META = 'wst_meta'; sFORMAT = 'FORMAT'; sTRANSPORT = 'TRANSPORT'; @@ -56,7 +55,7 @@ type PService = ^TService; TService = record Name : ShortString; - OperationsCount : Byte; + OperationsCount : Word; Operations : PServiceOperation; Properties : PPropertyData; end; @@ -66,7 +65,7 @@ type NameSpace : ShortString; Name : ShortString; RootAddress : ShortString; - ServicesCount : Byte; + ServicesCount : Word; Services : PService; end; @@ -114,7 +113,8 @@ type function GetServiceDefaultFormatProperties(AServiceTyp : PTypeInfo):string; implementation -uses wst_resources_imp, binary_streamer, imp_utils, wst_types; +uses + wst_resources_imp, binary_streamer, imp_utils, wst_types, wst_consts; {$INCLUDE wst_rtl_imp.inc} @@ -353,7 +353,7 @@ var begin AService^.Name := rdr.ReadAnsiStr(); AService^.Properties := nil; - k := rdr.ReadInt8U(); + k := rdr.ReadInt16U(); if ( k > 0 ) then begin AService^.Operations := wst_GetMem( k * SizeOf(TServiceOperation) ); AService^.OperationsCount := k; @@ -382,7 +382,7 @@ begin try FillChar(ARepository^,c,#0); ARepository^.Name := rdr.ReadAnsiStr(); - c := rdr.ReadInt8U(); + c := rdr.ReadInt16U(); if ( c > 0 ) then begin ARepository^.Services := wst_GetMem( c * SizeOf(TService) ); ARepository^.ServicesCount := c; diff --git a/wst/trunk/ws_helper/metadata_generator.pas b/wst/trunk/ws_helper/metadata_generator.pas index 561b7447e..cf90ea08f 100644 --- a/wst/trunk/ws_helper/metadata_generator.pas +++ b/wst/trunk/ws_helper/metadata_generator.pas @@ -25,9 +25,6 @@ uses Classes, SysUtils, pastree, pascal_parser_intf, binary_streamer; -const - sWST_META = 'WST_METADATA_0.2.2.0'; - type { TMetadataGenerator } @@ -49,6 +46,8 @@ type implementation +uses + wst_consts; { TMetadataGenerator } @@ -58,7 +57,7 @@ var typeList : TList; elt : TPasElement; begin - FStream.WriteAnsiStr(sWST_META); + FStream.WriteAnsiStr(sWST_SIGNATURE); FStream.WriteAnsiStr(FSymbolTable.CurrentModule.Name); k := 0; typeList := FSymbolTable.CurrentModule.InterfaceSection.Declarations; @@ -68,7 +67,7 @@ begin if elt.InheritsFrom(TPasClassType) and ( TPasClassType(elt).ObjKind = okInterface ) then inc(k); end; - FStream.WriteInt8U(k); + FStream.WriteInt16U(k); end; procedure TMetadataGenerator.GenerateIntfMetadata(AIntf: TPasClassType); @@ -116,7 +115,7 @@ var begin FStream.WriteAnsiStr(AIntf.Name); c := GetElementCount(AIntf.Members,TPasProcedure); - FStream.WriteInt8U(c); + FStream.WriteInt16U(c); mbrs := AIntf.Members; for i := 0 to pred(mbrs.Count) do begin elt := TPasElement(mbrs[i]); diff --git a/wst/trunk/wst_consts.pas b/wst/trunk/wst_consts.pas index f50fdbb95..0cbbc8883 100644 --- a/wst/trunk/wst_consts.pas +++ b/wst/trunk/wst_consts.pas @@ -16,6 +16,9 @@ unit wst_consts; interface +const + sWST_SIGNATURE = 'WST_METADATA_0.6'; + resourcestring SERR_CannotMakeInternalSymbolName ='Unable to make an internal symbol Name from "%s".'; SERR_CannotResolveNamespace = 'Unable to resolve this namespace : "%s".';