Я занимаюсь разработкой приложения на C #, часть которого требует интерактивного выбора пользователя с помощью встроенной функции:
SelectMultipleElements( CATSafeArrayVariant iFilterType,
CATBSTR iMessage,
boolean iMaySkipInteractiveSelection,
CATMultiSelectionMode iMultiSelectionMode,
boolean iTooltip) As CATBSTR
Это представляет окно в сеансе Catia, что мне не хватает представителя, чтобы добавить картинку ...
Что хорошо и здорово, если пользователь может найти правильную геометрию на экране.
Если они нажимают клавишу выхода, активную для этого пользовательского интерфейса, она по праву исчезает.
Но, если скрипт перезапускается (после нажатия Escape), я получаю исключение COM, когда снова запрашивается это интерактивное окно выбора:
The script is badly written.
Since the beginning of the script execution, the user pressed the Escape key, and the script did not exit. See Selection.SelectElement documentation
Что предотвращает повторное отображение окна.
Единственный способ устранить проблему - это перезапустить сеанс Catia - хорошо для меня во время отладки / тестирования, но не является жизнеспособным решением для наших дизайнеров, которые не захотят перезагружать то, что они ' работает над.
Документация Dassaults Automation откровенно шокирует, и я не испытывал радости от того, что нашел там решение.
Как можно избежать этой ошибки при нажатии escape? Я надеюсь, что это не проблема Catia, но я относительно новичок в создании автономных приложений.