• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Как менять параметры в диалоговых окнах прикладных библиотек из кода?

Автор Komp_ass, 13.12.24, 16:47:54

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Komp_ass

Хотелось бы автоматизировать процесс создания координационной сетки из "Электрика и электроника -> Конвертор PdiF-КОМПАС -> Координационная сетка" и установку параметров для нее.

Вызов самой команды из библиотеки простой:



iLibraryManager = iApplication.LibraryManager
iProceduresLibraries = iLibraryManager.ProceduresLibraries
PdiF = iProceduresLibraries.Item("Конвертор PdiF-КОМПАС")
PdiF.Execute(1034, None, False)


Но эта команда вызывает у библиотеки диалоговое окно "Координатная сетка", в котором нужно задать необходимые параметры и на этом процесс останавливается.
Как можно было бы установить эти три несчастных параметра из кода? Как получить доступ к этому окну?

Lemieux

По HWID получаете окно КОМПАС. Ищите это окно в прикрученных окнах. Если находите, то управляете им.

Komp_ass

Дальнейшее выполнение кода после возникновения окна "Координатная сетка" блокируется и там я уже не могу ничего получить и вообще что-то сделать пока это окно не будет закрыто. Нет ли других способов каким-то образом установить нужные параметры, как например в конверторе пдф?

Vi2

None в коде есть какой-то интерфейс взаимодействия между библиотеками. Может, там есть возможность установки параметров.

Цитироватьexternal - интерфейс для обмена данными между библиотекой, вызвавшей Execute, и библиотекой, в которой реализована команда. Интерфейс определен разработчиком библиотек. Может быть NULL

PS
Правильное программирование таких услуг предполагает возможность задания данных или в виде диалога, или непосредственно кодом (и без диалога).


Lemieux

Цитата: UU от 16.12.24, 20:54:47WIN API, в помощь.
И что это даст? Автор вроде написал, что вызывается модальное окно. Или Вы предлагаете из внешнего приложения управлять? Тогда зачем WIN API если это можно сделать и с помощью того же .NET?