Запускаю процесс таким образом:
requestInfo3D->SetFilterCallBack("SELECTFILTERPROC", longHinstance, NULL);
requestInfo3D->SetCallBackEx("SELECTCALLBACKPROC", longHinstance, NULL);
activeSpace.doc->UserGetPlacementAndEntity(0);
Процесс работает, но при нажатии pbEnter прерывается.
Перехват нажатий кнопок сообщает что сразу после pbEnter КОМПАС сам нажал pbEsc. И видим это прервало процесс.
Есть варианты создания множества объектов в 3D по нажатию pbEnter, но без прерывания процесса?
Вариант повторного запуска процесса не подходит, т.к. приводит к миганию интерфейса, задержкам и негативному user experience.
Подписка на событие IProcess3DNotify, даст возможность различить события в процессе и управлять функцией обратной связи, добавить кнопку по которой будут создаваться объекты, чтобы не прерывать процесс.
Можно через панель свойств CreatePropertyManager(False), она точно мерцать не будет.
Если добавлять отдельную кнопку для создания объектов, то можно и без подписки на IProcess3DNotify все разрулить.