Browse Source

* Merging revisions 40394 from trunk:
------------------------------------------------------------------------
r40394 | michael | 2018-11-29 16:34:00 +0100 (Thu, 29 Nov 2018) | 1 line

* Allow to retrieve argument size, patch by Silvio Clecio (bug ID 34611)
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@42416 -

michael 6 years ago
parent
commit
d18904d076
1 changed files with 2 additions and 0 deletions
  1. 2 0
      packages/rtl-objpas/src/inc/rtti.pp

+ 2 - 0
packages/rtl-objpas/src/inc/rtti.pp

@@ -437,6 +437,7 @@ type
 
 
   TFunctionCallParameter = record
   TFunctionCallParameter = record
     ValueRef: Pointer;
     ValueRef: Pointer;
+    ValueSize: SizeInt;
     Info: TFunctionCallParameterInfo;
     Info: TFunctionCallParameterInfo;
   end;
   end;
   TFunctionCallParameterArray = specialize TArray<TFunctionCallParameter>;
   TFunctionCallParameterArray = specialize TArray<TFunctionCallParameter>;
@@ -812,6 +813,7 @@ begin
   SetLength(funcargs, Length(aArgs));
   SetLength(funcargs, Length(aArgs));
   for i := Low(aArgs) to High(aArgs) do begin
   for i := Low(aArgs) to High(aArgs) do begin
     funcargs[i - Low(aArgs) + Low(funcargs)].ValueRef := aArgs[i].GetReferenceToRawData;
     funcargs[i - Low(aArgs) + Low(funcargs)].ValueRef := aArgs[i].GetReferenceToRawData;
+    funcargs[i - Low(aArgs) + Low(funcargs)].ValueSize := aArgs[i].DataSize;
     funcargs[i - Low(aArgs) + Low(funcargs)].Info.ParamType := aArgs[i].TypeInfo;
     funcargs[i - Low(aArgs) + Low(funcargs)].Info.ParamType := aArgs[i].TypeInfo;
     funcargs[i - Low(aArgs) + Low(funcargs)].Info.ParamFlags := [];
     funcargs[i - Low(aArgs) + Low(funcargs)].Info.ParamFlags := [];
     funcargs[i - Low(aArgs) + Low(funcargs)].Info.ParaLocs := Nil;
     funcargs[i - Low(aArgs) + Low(funcargs)].Info.ParaLocs := Nil;