From 3cd5af50a5a5704d0dbcca497fd92a14fddb35a7 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Sun, 22 Mar 2015 02:29:52 +0800 Subject: [PATCH 1/2] assign FDataType as mptArray in SetAsVariant when type of Value is array --- SimpleMsgPack.pas | 1 + 1 file changed, 1 insertion(+) diff --git a/SimpleMsgPack.pas b/SimpleMsgPack.pas index b4d90c8..db5ecb6 100644 --- a/SimpleMsgPack.pas +++ b/SimpleMsgPack.pas @@ -1955,6 +1955,7 @@ procedure TSimpleMsgPack.SetAsVariant(const Value: Variant); begin checkObjectDataType(mptArray); FChildren.Clear; + FDataType := mptArray; for I := VarArrayLowBound(Value, VarArrayDimCount(Value)) to VarArrayHighBound(Value, VarArrayDimCount(Value)) do Add.AsVariant := Value[I]; From a9174f411b07b2bf757a0b01560eb0d1abe7a463 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Sun, 22 Mar 2015 22:40:54 +0800 Subject: [PATCH 2/2] bug fix: change the order of line about assigning type --- SimpleMsgPack.pas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SimpleMsgPack.pas b/SimpleMsgPack.pas index db5ecb6..1836d80 100644 --- a/SimpleMsgPack.pas +++ b/SimpleMsgPack.pas @@ -1955,10 +1955,10 @@ procedure TSimpleMsgPack.SetAsVariant(const Value: Variant); begin checkObjectDataType(mptArray); FChildren.Clear; - FDataType := mptArray; for I := VarArrayLowBound(Value, VarArrayDimCount(Value)) to VarArrayHighBound(Value, VarArrayDimCount(Value)) do Add.AsVariant := Value[I]; + FDataType := mptArray; end; end else