Browse Source

* allow making of a TValue of dynamic and static arrays

git-svn-id: trunk@36971 -
svenbarth 8 years ago
parent
commit
48c76cd536
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

@@ -549,6 +549,8 @@ begin
   case ATypeInfo^.Kind of
     tkSString  : result.FData.FValueData := TValueDataIntImpl.CreateCopy(ABuffer, Length(PShortString(ABuffer)^) + 1, ATypeInfo, True);
     tkAString  : result.FData.FValueData := TValueDataIntImpl.CreateRef(ABuffer, ATypeInfo, True);
+    tkDynArray : result.FData.FValueData := TValueDataIntImpl.CreateRef(ABuffer, ATypeInfo, True);
+    tkArray    : result.FData.FValueData := TValueDataIntImpl.CreateCopy(ABuffer, Result.TypeData^.ArrayData.Size, ATypeInfo, False);
     tkClass    : result.FData.FAsObject := PPointer(ABuffer)^;
     tkClassRef : result.FData.FAsClass := PClass(ABuffer)^;
     tkInterface: result.FData.FValueData := TValueDataIntImpl.CreateRef(ABuffer, ATypeInfo, True);