You are not logged in.
Hi @ab, I think that I found bugs in TSQLTable.GetJSONValues and TSQLTable.ToDocVariant, how I can
reproduce them I generated an application test case and I put it in https://drive.google.com/open?id=1kBpGl … yWlSm8-GkX.
The second and third button reproduce the problems and in ToDocVariant checking the "Workaround" checkbox solve the same.
Can you verify this please ?
Thanks.
Esteban
Offline
@ab, can you see this ?
Thanks.
Esteban
Offline
Please check https://synopse.info/fossil/info/e6744742ea for the first one.
I will look also into the 2nd potential problem.
Offline
The ToDocVariant was much more difficult to track...
The Delete operation did modify the TSQLTable.fFieldNames[] content, which was copied by reference to the TDocVariant.
Should be fixed by https://synopse.info/fossil/info/3df34f09d2
Offline
Thanks @ab, all works fine.
Esteban
Offline
Sorry @ab, but in the last fixes have been introduced a bug when saving objects to JSON from TDynArray. In https://drive.google.com/open?id=1qCR1x … jx4ev2wLbK I added a button DynArrayObj that plays the fail case.
For me application, this bug is a breaking change and I need that works as before.
UPDATE:
I have the following interface based service:
function ImportTable(cosnt aCSVOptions: TCDICSVOptions; const aTableOptions: TCDITableOptions; const aMapFieldOptions: TCDIMapFieldOptionArray): TServiceCustomAnswer;
and before the fixes this services worked ok, but after the same the server receives the aMapFieldOptions parameter of the same way that the reproduced fail test case.
Thanks in advance.
Last edited by EMartin (2018-02-14 20:42:21)
Esteban
Offline
Sorry @ab for my insistence, can you see this issue ?
Thanks.
Esteban
Offline
I found the error in my test case, I forgot this code:
TJSONSerializer.RegisterObjArrayForJSON(TypeInfo(TCDIMapFieldOptionArray), TCDIMapFieldOption);
I don't understand why the JSON serialization in interface based service is not working more. That's is my big problem.
I'all appreciate any help.
Esteban
Offline