In my previous post I mentioned an issue of ArraySeek() always returning a value of 1 regardless of whether the sought value existed or not.
Having returned to programming I also noticed that combos bound to the arrays showed no values even though the arrays themselves had content.
My error, no surprise here, as I was using a reversal of the code used to store the JSON content to populate the arrays....
Only difference I can see when viewing the arrays in the debugger is that the header of the Value column for each row of the array shows different description
When using JSONToVariant it shows <VariantMenber>
When using Deserialize it shows <STR_Detail4Combo> //Array of a Structure
The conclusion has to be that variant members are invisible outside of the array itself although I have no idea why this should be or why an array based on a variant always returns the value of 1.
Another lesson learned.
Having returned to programming I also noticed that combos bound to the arrays showed no values even though the arrays themselves had content.
My error, no surprise here, as I was using a reversal of the code used to store the JSON content to populate the arrays....
FOR EACH LookupDetail where StringBuild("FK_LUCode = '%1'",s_LUCode)
//Fetch and convert the content of the detail (JSON) string
s_LUDetailJSON = LookupDetail.LookUpList_JSON; v_LUDetail = JSONToVariant(s_LUDetailJSON)
//Assign the variant to the array
{"m_Arr" + s_LUCode,indVariable} <- v_LUDetail
ENDfollowing a few posts with Andy Stapleton I changed this to
FOR EACH LookupDetail where StringBuild("FK_LUCode = '%1'",s_LUCode)
//Fetch and convert the content of the detail (JSON) string
s_LUDetailJSON = LookupDetail.LookUpList_JSON
// Deserialization to the element
Deserialize({"m_Arr" + s_LUCode,indVariable}, s_LUDetailJSON, psdJSON)
ENDAll is now working as expected.
Only difference I can see when viewing the arrays in the debugger is that the header of the Value column for each row of the array shows different description
When using JSONToVariant it shows <VariantMenber>
When using Deserialize it shows <STR_Detail4Combo> //Array of a Structure
The conclusion has to be that variant members are invisible outside of the array itself although I have no idea why this should be or why an array based on a variant always returns the value of 1.
Another lesson learned.