Добрый день. Помогите с красивым решением задачи:
Выполняется макрос, который собственно управляет инструментом.
В процессе выполнения макроса мне необходимо чтобы пользователь мог вводить коррективы в процесс выполнения.
Для этого я сейчас сделал окошечки UserDRO, в которые пользователь вбивает значение 0 или 1, которые опрашиваются в макросе и в зависимости от этого макрос принимает решение и выполняет или не выполняет заданные действия.
В принципе все работает, но через UserDRO кривовато как-то. По идее кнопочки бы ему нажимать отключая/включая операции, но кнопки не знаю как опрашивать...
Может кто чего посоветует?
Опрос кнопок в процессе выполнения макроса
- shad
- Новичок
- Сообщения: 27
- Зарегистрирован: 15 окт 2012, 16:13
- Репутация: 4
- Настоящее имя: Андрей
- Откуда: Россия
- Контактная информация:
Re: Опрос кнопок в процессе выполнения макроса
Возможно Вам нужно вот это.
MachMsg
Function MachMsg(Prompt As String, Title As String, DialogType As Integer) As
Integer
https://www.machsupport.com/wp-content/ ... og_Ref.pdf
страница 51
MachMsg
Function MachMsg(Prompt As String, Title As String, DialogType As Integer) As
Integer
https://www.machsupport.com/wp-content/ ... og_Ref.pdf
страница 51
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 09 дек 2022, 23:19
- Репутация: 1
- Контактная информация:
Re: Опрос кнопок в процессе выполнения макроса
Добрый день, вы имеете ввиду функцию MachMsg?
Но она же модально выводится и ждет ответа от пользователя. Мне же надо чтобы остановки выполнения процесса не проиcходило...
Но она же модально выводится и ждет ответа от пользователя. Мне же надо чтобы остановки выполнения процесса не проиcходило...
- hmnijp
- Мастер
- Сообщения: 1725
- Зарегистрирован: 20 авг 2017, 15:02
- Репутация: 529
- Настоящее имя: Константин
- Откуда: Ульяновск
- Контактная информация:
Re: Опрос кнопок в процессе выполнения макроса
макросы не могут асинхронно работать, как и программы, они исполняются в одном последовательном цикле. это только плагины могут. Ну или вот как вы делаете, опрашивать userdro, либо переменные плагина(которые могут быть в своём гуи параллельно обычному).
Только может вам не дро надо c единичкой и нулём, а togglebutton?
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 09 дек 2022, 23:19
- Репутация: 1
- Контактная информация:
Re: Опрос кнопок в процессе выполнения макроса
togglebutton вполне бы подошел, но в MACH3 нет такого элемента интерфейса. Или я что-то не знаю?
- hmnijp
- Мастер
- Сообщения: 1725
- Зарегистрирован: 20 авг 2017, 15:02
- Репутация: 529
- Настоящее имя: Константин
- Откуда: Ульяновск
- Контактная информация:
Re: Опрос кнопок в процессе выполнения макроса
Кнопка исполняет скрипт который переключает led.
If (GetUserLED(1111) = 0) Then
SetUserLED(1111,1)
Else
SetUserLED(1111,0)
End If
(для красивости в интерфейсе ставят двухцветный red/green led, и поверх него кнопку прозрачную)SetUserLED(1111,1)
Else
SetUserLED(1111,0)
End If
-
- Новичок
- Сообщения: 35
- Зарегистрирован: 09 дек 2022, 23:19
- Репутация: 1
- Контактная информация:
Re: Опрос кнопок в процессе выполнения макроса
Кнопка не может исполнить скрипт и что-то поменять на экране. Потому что в этот момент исполняется другой скрипт.