Everything loads fine and inputs correctly, however upon trying to sync the data back to the portal I get an error. It happens when iterating through a list model during the syncing process, It works fine in 100.2(qt 5.12) but not when updated to 100.5(qt 5.12) I get the error. When I debug I get this error,
In a dialog popup....
Exception Triggered: The inferior stopped because it triggered an exception. Stopped in thread 0 by: Exception at 0x7ffbaa518e6e, code 0x0000005: read access violation at : 0x4, flags=0x0 (first chance)
In output...
Exception at 0x7ffbfeb1a388, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in runtimecore!RT_WMTSTileMatrixSet_getWellKnownScaleSetId
in output...
Exception at 0x7ffbfeb1a388, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in MSVCP140!__ExceptionPtrRethrow
In debugger Console...
qrc:/qml/Components/SurveyRunningPage.qml:142: TypeError: Value is undefined and could not be converted to an object qrc:/qml/Components/SurveyRunningPage.qml: 142
AND LINE 142 IN THAT QML FILE IS...
property var itemTypes: parent.itemTypesfunction updateRunningPageButtons(){
for(var i = 0; i < itemTypes.length; i++ ){
console.debug("adding text to button " + (i+1) + ": " + itemTypes[i]);142 children[i+1].text = itemTypes[i]; //children[0] is runMenu at the top of the UI. children[1-12] are the SurveyItemButtons listed below}
}
HEADER FILE INCLUDES...Q_PROPERTY(QStringList itemTypes READ itemTypes NOTIFY itemTypesChanged) //This is set to the domain of the collection itemsQStringList itemTypes() const { return m_itemTypes;} //called itemTypes in QMLQStringList m_itemTypes; //The list of all the domain values of the item list
CPP FILE INCLUDES...
void CollectionMap::setItemDomain()
{
//Find the domain
CodedValueDomain domain;
int numFields = m_observationsFeatureTable->fields().size();
qDebug() << "CollectionMap::setItemDomain " << numFields;
for(int i = 0; i < numFields; i++)
{
qDebug() << "\t\t" << m_observationsFeatureTable->fields().at(i).name();
if(m_observationsFeatureTable->fields().at(i).name() == VSItemTypeField) //When the field is matched to the VSItemTypeField defined in NameDefinitions.h
{
qDebug() << "CollectionMap::setItemDomain: found the observation item domain for field called " << VSItemTypeField;
domain = m_observationsFeatureTable->fields().at(i).domain(); //make a copy of the domain
m_itemTypeDomain = domain;
break; //break out of the for loop.
}
}
for(int i = 0; i < domain.codedValues().size(); i++)
{
m_itemTypes.append(domain.codedValues().at(i).name());
qDebug() << "CollectionMap::setItemDomain: added domain name " << domain.codedValues().at(i).name() << " to the item type list";
}
emit itemTypesChanged();
}
This sounds like a possible regression, although the WMTS reference in the crash seems like it could be a red herring. We are not aware of any issues currently, so I don't have anything immediate to suggest. Do you have access to Esri Support through your organization? This is probably the best way to go about getting help with troubleshooting this issue.
Yes I do. Thank you so much for your reply, I actually reached out to them today. You are an extremely busy person. I follow your updates on GitHub and others I believe too.
Chandra Waller
System Analyst / Computer Programmer/ cwaller@colestl.com
ST. LOUIS / ST. CHARLES / DALLAS / PHOENIX
Power House at Union Station / 401 S. 18th Street / Suite 200 / St. Louis / MO / 63103
314.984.9887 x1124 / www.colestl.com
Cole & Associates, Inc. is a Missouri Corporation d.b.a. Cole Design Group, Inc. in Texas & Arizona, herein referred to as “Cole”