[18.09.25 07:06:30:548] SetClipboard() with id 638937759905489533 has started...
[18.09.25 07:06:30:548] Попытка открыть буфер # 01
...
[18.09.25 07:06:33:888] Warning: TurboConf: Подождите, идет процесс... Клавиатура и мышь временно заблокированы.
Кликов до разблокировки: 3
Разблокировать
...
[18.09.25 07:06:35:183] Warning: TurboConf: Подождите, идет процесс... Клавиатура и мышь временно заблокированы.
Кликов до разблокировки: 2
Разблокировать
...
[18.09.25 07:06:40:597] SetClipboard time = 10047ms
Ссылка скрыта
#1, ред. 27 сентября 2025 10:53
Снова случилось. Опять при вызове команды "Вычислить выражение" адаптера.
Ссылка скрыта
#2, 27 сентября 2025 11:42
(1) tormozit, зачем ты два раза подряд вызываешь ПолучитьТекстСПозицией?
[27.09.25 10:51:26:790] API:GetTextWithPosition()
[27.09.25 10:51:26:919] API:GetTextWithPosition()
#3, 27 сентября 2025 11:56
Причина все та же, платформа блокирует установку буфера обмена.
[27.09.25 10:51:27:633] SetClipboard() with id 638945670876332669 has started...
[27.09.25 10:51:27:633] Попытка открыть буфер # 01
...
[27.09.25 10:51:38:449] SetClipboard time = 10816ms
[27.09.25 10:51:38:449] SetClipboard() with id 638945670876332669 has finished...
Скорее всего это происходит из-за установки значения поля ввода без ожидания.
УстановитьЗначениеПолюВвода
В этот же момент скрипт завершается и происходит восстановление буфера.
Добавь хотя бы 20мс
ТурбоКонф.УстановитьЗначение(Текст);
ТурбоКонф.Ждать(20);
#4, 27 сентября 2025 16:17
(2) bolsun, Один из вызовов ПолучитьТекстСПозицией() был избыточным. Сейчас устранил его.
#5, 27 сентября 2025 16:32
(3) bolsun, Не смог понять, как установка значения в поле ввода связана с буфером обмена. Я вызываю ТурбоКонф.УстановитьЗначение(). Разве этот метод использует буфер обмена?
#6, 27 сентября 2025 16:35
(3) bolsun, И задержка там есть.
#7, ред. 27 сентября 2025 16:43
(5) tormozit, в момент работы с UIAutomation платформа не может работать с буфером, вроде уже писал про это. Поэтому установка значения без ожидания, с последующей установкой буфера, может приводить к блокировке буфера.
#8, 27 сентября 2025 16:46
(7) опять же это только предположение, что именно это приводит к блокировке буфера. Это одна из возможных причин.
#9, ред. 27 сентября 2025 17:13
Что происходит в конфигураторе после установки значения, ты нажимаешь Enter. Конфигуратор выполняет что-то, вычисляет выражение как я понял?
#10, ред. 27 сентября 2025 17:15
(9) bolsun, последняя установка текста в поле ввода в этой команде делается с целью вернуть ему исходное состояние, т.е. установить туда то же выражение, которое у него было при открытии окна "Выражение". Затем после нажатия ENTER конфигуратор фоново вычисляет значение выражения (уже второй раз).
#11, ред. 27 сентября 2025 17:22
(10) tormozit, т.к. скрипт не дожидается завершения этих действий и восстанавливает буфер, то это возможно и является причиной блокировки буфера. Добавь какую-то проверку (окном поиска например), на завершение всех вычислений.
#12, 27 сентября 2025 17:24
А зачем ты вообще буфер восстанавливаешь для этой команды, вроде не вижу там использование буфера?
#13, ред. 27 сентября 2025 17:47
(12) Видимо раньше буфер использовался. Сейчас я тоже бегло не нашел и пробно отключил флаг восстановления буфера.
(11) Добавил в код такой комментарий на будущее.