Периодический сбой обновления слоя

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Tereha
Завсегдатай
Сообщения: 423
Зарегистрирован: 15 май 2010, 06:13
Репутация: 7

Периодический сбой обновления слоя

Сообщение Tereha » 10 сен 2013, 13:26

Я использую arcObjects 2010 в VS 2010. Для хранения событий используется shape file. Периодически требуется обновлять содержимое файла. Для этого я удаляю все свойства shape файла и создаю новое множество свойств в соответствии с содержимым таблицы базы данных mysql. Несколько пользователей могут одновременно запускать программу. Периодически происходит сбой обновления, причину которого пытаюсь определить. Первое предположение, которое сейчас проверяю , заключается в том, что некорректно написана процедура очистки текущего содержимого шейп файла:

Код: Выделить всё

        public void clearSetOfFeatures(string layerName)
        {

            ESRI.ArcGIS.Geodatabase.IQueryFilter qFilter = new ESRI.ArcGIS.Geodatabase.QueryFilter();
            qFilter.WhereClause = "";
            qFilter.SubFields = "Shape";

            ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = null;
            ESRI.ArcGIS.Carto.IFeatureLayer featureLayer = getLayerByName(layerName) as ESRI.ArcGIS.Carto.IFeatureLayer;
            ESRI.ArcGIS.Geodatabase.IFeatureCursor cursor = featureLayer.Search(qFilter, true);

            featureClass = featureLayer.FeatureClass;

            ESRI.ArcGIS.Geodatabase.ITable table = (ESRI.ArcGIS.Geodatabase.ITable)featureClass;
            table.DeleteSearchedRows(qFilter);

            System.Runtime.InteropServices.Marshal.ReleaseComObject(featureClass);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(featureLayer);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(cursor);


        }
?
В чем может быть проблема?
Thanks in advance!

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя