IGxDialog? или недочеты ArcMap и .Net?

0 голосов
спросил 14 Май, 08 от a-subbotin (500 баллов) в категории Программные продукты Esri
    Здравствуйте, товарищи! Никак не могу понять в чем загвоздка. Может быть кто-то уже сталкивался с подобной проблемой и нашел ту самую "ось зла"? Проблема собственно такая- в приложении (не Standalone) используется IGxDialog. Код работы с интерфейсом взят из Хэлпа, подработан под задачу и оформлен в качестве функции, возвращающей строку-имя выбранного набора данных. Так вот, если во время работы функция используется, то:
1) при закрытии ArcMap возникает ошибка чтения памяти по адресу...
2) при повторном инициировании работы приложения (ArcMap не закрываем) и n-ом вызове функции с IGxDialog возникает ошибка в строке с методом DoModalOpen-что-то про поврежденную память (corrupt memory)
3) при обходе вызова функции в п.2 в во время выполнения расчетов ArcMap вываливается с ошибкой R6205-Pure function call (если не ошибаюсь)... Если кто может помочь откликнитесь!!!
Да и вообще замечал возникающие буквально "ниоткуда" ошибки (основная работа ведется с растрами и функциями Spatial Analysta). Иногда даже в неизменяемом фрагменте кода при внесении изменений выше. Иногда возникновение ошибки удается избежать перемещением "ошибочного" фрагмента по тексту программы или вводом дополнительных )) "пустых" опереторов в стиле x=x+0. Как ни странно это звучит, но помогает ))) По-моему это ненормально... Что делать? В чем ошибка? Использую ArcGIS 9.1, VS2005 (VB.NET), .NET Framework 1.1 (необходимо для ArcGIS) и .NET Framework 2.0 (необходимо для VS2005). Может дело в конфликте фреймворков? ПОМОГИТЕ!

1 Ответ

0 голосов
ответил 16 Май, 08 от a-subbotin (500 баллов)
Как удалось выяснить, выше упомянутая ошибка Pure function call R6025 - последствие работы Garbage Collector'a, возникающая в процессе его работы, проявляется на моей рабочей станции, чего не возникает на идентичной по составу тех. средств и ПО разработки (ArcGIS 9.1, Developer Kit, VS2005, .Net Framework 1.1, 2.0). Кто-нибудь сталкивался с подобной ситуацией? В свою очередь ошибка работы IGxDialog'а, как оказалось, проблема, своими корнями уходящая глубоко в прошлое )). Исследовав соответствующие темы форума EDN и взяв на вооружение все предлагаемые способы попыток побороть данное заболевание, воплотил практически их все вплоть до переименования dll-библиотек в папке Data Interoperability... Можно ли считать данный недуг вылеченным сказать сложно, но ПОКА это исключение не проявилось... Как быть, ума не приложу...
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...