Недостаточно рейтинга для добавления отрицательного голоса. Шаблон будет скрыт из ваших результатов поиска.
Комментарии
bolsun #1, 26 мая 2024 13:45
Метод только для конфигуратора предназначается и корректно работать в VS Code не будет. В VS Code совсем другая структура, там Monaco, с дочерними элементами, а не единое поле текстового документа.
Нужно использовать какие-то другие способы вставки. Либо самый примитивный, просто вставка из буфера с задержкой. Либо API VS Code.
0
tormozit #2, 26 мая 2024 17:16
Попробовал через буфер обмена. Опять при вызове второй установки содержимого буфера обмена стабильно возникает ошибка
Не удалось выполнить скрипт ИРАдаптер->НайтиПоследнююПравкуВГите: ScriptEngine.Machine.ExternalSystemException: {Модуль C:\Portable\TurboConf\user_scripts\RDT.os / Ошибка в строке: 3165 / Внешнее исключение (System.Runtime.InteropServices.ExternalException): Сбой при выполнении запрошенной операции с буфером обмена.}
ТурбоКонф.УстановитьБуферОбмена(XMLСтрока(НомерСтроки));
---> System.Runtime.InteropServices.ExternalException: Сбой при выполнении запрошенной операции с буфером обмена.
в System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr)
в System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy, Int32 retryTimes, Int32 retryDelay)
в TurboConf.Core.TurboAPI.TurboApi.SetClipboard(String text, Boolean clipIgnore)
в lambda_method(Closure , Api , IValue[] )
в ScriptEngine.Machine.Contexts.AutoContext`1.CallAsProcedure(Int32 methodNumber, IValue[] arguments)
в ScriptEngine.Machine.MachineInstance.ResolveMethodProc(Int32 arg)
в ScriptEngine.Machine.MachineInstance.MainCommandLoop()
--- Конец трассировки внутреннего стека исключений ---
в ScriptEngine.Machine.MachineInstance.MainCommandLoop()
в ScriptEngine.Machine.MachineInstance.ExecuteCode()
в ScriptEngine.Machine.MachineInstance.ExecuteMethod(IRunnable sdo, Int32 methodIndex, IValue[] arguments)
в ScriptEngine.Machine.Contexts.ScriptDrivenObject.CallAsFunction(Int32 methodNumber, IValue[] arguments, IValue& retValue)
в TurboConf.HostApplication.HostApplicationForm.ExecuteScript(Script script, Keys ctrl, Keys alt, Keys shift, ScreenForm statusForm, String entryPoint, ScriptOptions options, IVariable[] parameters)
0
tormozit #3, ред. 26 мая 2024 18:56
Пока нашел такой способ решения задачи. Вторую вставку (номера строки для перехода) пришлось делать эмуляцией отправки нажатий клавиш, т.к. вставка через буфер часто выдает ошибку (2)
ТурбоКонф.КонтролКлавиша(Клавиши.A);
ТурбоКонф.ВставитьТекст(ТекстМодуля); // Часто делает двойную вставку, но не всегда
ТурбоКонф.КонтролКлавиша(Клавиши.Z); // Откатывает возможную вторую вставку
ТурбоКонф.КонтролКлавиша(Клавиши.Z); // Откатывает первую вставку или делает ничего
ТурбоКонф.КонтролКлавиша(Клавиши.Y); // Повторяет первую вставку. Альтернативное сочетание по умолчанию - Ctrl+Shift+Z
СтарыйИД = ТурбоКонф.ПолучитьRuntimeIdСтрокой();
ТурбоКонф.КонтролКлавиша(Клавиши.G);
ТурбоКонф.ЖдатьСменуТекущегоЭлемента(СтарыйИД, 1000, Истина);
ТурбоКонф.ОтправитьТекст(XMLСтрока(НомерСтроки))
ТурбоКонф.Клавиша(Клавиши.Enter);
0
bolsun #4, 26 мая 2024 18:04
(3) tormozit, поле ввода строки, как раз поддерживает метод установки через UIAuto
УстановитьЗначение()
0
tormozit #5, 26 мая 2024 18:18
(4) bolsun, проверил ТурбоКонф.УстановитьЗначение(XMLСтрока(НомерСтроки));
произошло ничего, т.е. не сработало
0
bolsun #6, 26 мая 2024 18:35
(5) tormozit, я посмотрел - паттерн заявлен. В другие такие поля вставляет. Значит там какая то доп. обработка мешает.
0
bolsun #7, 30 мая 2024 15:04
Не является багом TurboConf.
bolsun изменил статус на Закрыто
#1, 26 мая 2024 13:45
Метод только для конфигуратора предназначается и корректно работать в VS Code не будет. В VS Code совсем другая структура, там Monaco, с дочерними элементами, а не единое поле текстового документа.
Нужно использовать какие-то другие способы вставки. Либо самый примитивный, просто вставка из буфера с задержкой. Либо API VS Code.
#2, 26 мая 2024 17:16
Попробовал через буфер обмена. Опять при вызове второй установки содержимого буфера обмена стабильно возникает ошибка
Не удалось выполнить скрипт ИРАдаптер->НайтиПоследнююПравкуВГите: ScriptEngine.Machine.ExternalSystemException: {Модуль C:\Portable\TurboConf\user_scripts\RDT.os / Ошибка в строке: 3165 / Внешнее исключение (System.Runtime.InteropServices.ExternalException): Сбой при выполнении запрошенной операции с буфером обмена.}
ТурбоКонф.УстановитьБуферОбмена(XMLСтрока(НомерСтроки));
---> System.Runtime.InteropServices.ExternalException: Сбой при выполнении запрошенной операции с буфером обмена.
в System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr)
в System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy, Int32 retryTimes, Int32 retryDelay)
в TurboConf.Core.TurboAPI.TurboApi.SetClipboard(String text, Boolean clipIgnore)
в lambda_method(Closure , Api , IValue[] )
в ScriptEngine.Machine.Contexts.AutoContext`1.CallAsProcedure(Int32 methodNumber, IValue[] arguments)
в ScriptEngine.Machine.MachineInstance.ResolveMethodProc(Int32 arg)
в ScriptEngine.Machine.MachineInstance.MainCommandLoop()
--- Конец трассировки внутреннего стека исключений ---
в ScriptEngine.Machine.MachineInstance.MainCommandLoop()
в ScriptEngine.Machine.MachineInstance.ExecuteCode()
в ScriptEngine.Machine.MachineInstance.ExecuteMethod(IRunnable sdo, Int32 methodIndex, IValue[] arguments)
в ScriptEngine.Machine.Contexts.ScriptDrivenObject.CallAsFunction(Int32 methodNumber, IValue[] arguments, IValue& retValue)
в TurboConf.HostApplication.HostApplicationForm.ExecuteScript(Script script, Keys ctrl, Keys alt, Keys shift, ScreenForm statusForm, String entryPoint, ScriptOptions options, IVariable[] parameters)
#3, ред. 26 мая 2024 18:56
Пока нашел такой способ решения задачи. Вторую вставку (номера строки для перехода) пришлось делать эмуляцией отправки нажатий клавиш, т.к. вставка через буфер часто выдает ошибку (2)
#4, 26 мая 2024 18:04
(3) tormozit, поле ввода строки, как раз поддерживает метод установки через UIAuto
УстановитьЗначение()
#5, 26 мая 2024 18:18
(4) bolsun, проверил
ТурбоКонф.УстановитьЗначение(XMLСтрока(НомерСтроки));
произошло ничего, т.е. не сработало
#6, 26 мая 2024 18:35
(5) tormozit, я посмотрел - паттерн заявлен. В другие такие поля вставляет. Значит там какая то доп. обработка мешает.
#7, 30 мая 2024 15:04
Не является багом TurboConf.
bolsun изменил статус на Закрыто