Ciao.
Sembra che l'eccezione che ti sta affliggendo provenga da questo metodo:
procedure TBaseObject.SetArrayElements(AP : Pointer; ET: PTypeInfo; AValue: TJSONArray);
Var
I : Integer;
AN : String;
begin
AN:=ET^.Name;
// Fill in all elements
For I:=0 to AValue.Count-1 do
begin
Case ET^.Kind of
tkClass :
begin
TObjectArray(AP)[I]:=CreateObject(AN,GetTypeData(ET)^.ClassType);
TObjectArray(AP)[I].LoadFromJSON(AValue.Objects[i]);
end;
tkFloat :
if IsDateTimeProp(ET) then
TDateTimeArray(AP)[I]:=RFC3339ToDateTime(AValue.Strings[i])
else
begin
TFloatArray(AP)[I]:=AValue.Floats[i];
end;
tkInt64 :
TInt64Array(AP)[I]:=AValue.Int64s[i];
tkBool :
begin
TBooleanArray(AP)[I]:=AValue.Booleans[i];
end;
tkInteger :
TIntegerArray(AP)[I]:=AValue.Integers[i];
tkUstring,
tkWstring :
TUnicodeStringArray(AP)[I]:=UTF8Decode(AValue.Strings[i]);
tkString,
tkAstring,
tkLString :
begin
TStringArray(AP)[I]:=AValue.Strings[i];
end;
else
Raise ERESTAPI.CreateFmt('%s: unsupported array element type : %s',[ClassName,GetEnumName(TypeInfo(TTypeKind),Ord(ET^.Kind))]);
end;
end;
end;
Da quel che capisco l'api che stai utilizzando è "vecchia" rispetto alla ultime specifiche.
Altrimenti il fatto che non riesca a gestire correttamente le property diventa oscuro.
PS:
Do per assodato che la chiave e il resto delle cose di sicurezza google siano impostate correttamente :)
Stilgar