У меня есть надстройка, которая была перенесена из ArcMap 9.3 в 10.1, и этот код отлично работал в 9.3, но по какой-то причине вообще не будет работать в 10.1:
ICalculatorUI calc = new CalculatorUI();
calc.Table = MyTable;
calc.Field = "MyField";
calc.DoModal(ArcMap.Application.hWnd);
Фактический код немного сложнее, но я попробовал его с этой упрощенной версией, и она все еще не работает.
Что происходит, так это то, что диалоговое окно калькулятора появляется очень хорошо, и я могу ввести значение для установки поля, но когда я нажимаю кнопку «ОК», диалоговое окно закрывается без ошибок, но ничего не обновляется.
Я открыл таблицу, которую редактирую, с помощью обычного пользовательского интерфейса ArcMap, запустил Калькулятор поля в том же поле и могу подтвердить, что он выглядит точно так же, как я вижу, когда использую этот фрагмент кода в своей собственной форме. Отличий всего три:
- Перед отображением диалогового окна появляется диалоговое окно с предупреждением о том, что я не нахожусь в сеансе редактирования и изменения нельзя отменить.
- После нажатия кнопки OK на короткое время отображается диалоговое окно прогресса, пока строки обновляются.
- Строки действительно обновляются.
Таким образом, все, что отображается в самом диалоговом окне, идентично, включая имя поля и список других полей в таблице.
В ArcMap 9.3 ICalculatorUI
берет на себя все, как только вызывается DoModal
. Досадно, что он даже не обеспечивал программную обратную связь, чтобы показать, отменил ли пользователь диалоговое окно или [если/сколько] строк было обновлено. Очень черный ящик, и это было отстойно, но, по крайней мере, это работало!
Я нигде не смог найти никакой помощи по этому поводу, особенно в жалкой документации ESRI, которая, похоже, скопирована и вставлена из их документации 9.x.
РЕДАКТИРОВАТЬ: Почему нет просмотров? Прошло несколько дней, и это показывает, что вопрос просматривался только дважды, оба из которых были мной (это редактирование составляет 3). Другой вопрос, который я задал год назад, получил значок перекати-поле, и единственной активностью было то, что я оставил комментарий - никаких ответов и все еще всего 40 просмотров (большинство из них мои, я уверен). Ну что, как поживаешь? SO прячет мои вопросы где-то в кладовке?? Мне действительно нужна помощь с этим...