You've already forked lazarus-ccr
Metadata Repository : Change "ServiceCount" and "OperationCount" to Word instead of Byte. Note that all files generated by ws_helper should be regenerated.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1028 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -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;
|
||||
|
@ -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]);
|
||||
|
@ -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".';
|
||||
|
Reference in New Issue
Block a user