ScriptEngine.Machine.ExternalSystemException: {Модуль C:\Portable\TurboConf\user_scripts\RDT.os / Ошибка в строке: 1137 / Внешнее исключение (System.IndexOutOfRangeException): Индекс находился вне границ массива.}
ИдентификаторПоля = ТурбоКонф.ПолучитьRuntimeId(); // 9мс
Ссылка скрыта
#1, 23 сентября 2023 09:37
Ошибка происходит похоже при первом открытии COM приложения
#2, ред. 23 сентября 2023 12:18
Метод вызывается не в окне конфигуратора, фокус уходит в COM окно
[23.09.23 09:10:24:911] -------------------------------------------UIAutomation Focus Changed = ИР - Srvr="cortex";Ref="ka1";
[23.09.23 09:10:24:938] GetCurrentElementRuntimeId()
[23.09.23 09:10:24:956] Не удалось выполнить скрипт ИРАдаптер->НайтиВызовыМетода
#3, 23 сентября 2023 12:35
Возможно первый показ COM окна забирает фокус себе, похоже нужно его возвращать в конфигуратор, после первого открытия COM окна.
#4, 23 сентября 2023 12:43
Проверить не могу, у меня этот скрипт всегда вызывает ошибку + последующее зависание COM окна
Значение не является значением объектного типа (ИмяОбщегоТипа)
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(3416)}: ИмяОбщегоТипа = СтруктураТипа.ИмяОбщегоТипа;
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстаПрограммы.Форма.МетодыМодулей.Форма(161)}: ИмяМодуля = мПлатформа.ИмяФайлаМодуляБезРасширения(СтруктураТипа, ТипМодуляКонфигурации);
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстаПрограммы.Форма.МетодыМодулей.Форма(103)}: ДобавитьМетодыМодуля(ПараметрМодуль.СтруктураТипа,,, ФайлыРасширений);
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстаПрограммы.Форма.МетодыМодулей.Форма(61)}: ПерезаполнитьТаблицуВсехМетодов();
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстаПрограммы.МодульОбъекта(7373)}: ФормаВыбора.Открыть();
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирКэш.Модуль(1659)}: ТекущийПроцесс = ПолучитьCOMОбъект("winmgmts:!\.\root\CIMV2:Win32_Process.Handle='" + XMLСтрока(ИдентификаторПроцессаОС) + "'");
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирКэш.Модуль(1048)}: КоманднаяСтрокаПроцесса = ирКэш.КоманднаяСтрокаТекущегоПроцессаОСЛкс();
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(4292)}: КлючБазыВСпискеПользователя = ирКэш.КлючБазыВСпискеПользователяИзКоманднойСтрокиЛкс();
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирГлобальный.Модуль(399)}: Если ирОбщий.КлючБазыВСпискеПользователяЛкс() = Неопределено Тогда
#5, 23 сентября 2023 12:51
Проверять не нужно. Варианты решения проблемы понятны.
#6, 23 сентября 2023 12:54
tormozit изменил статус на Закрыто
#7, ред. 23 сентября 2023 12:56
Но текст ошибки в самом Турбоконфе надо бы облагородить. А то текущая формулировка многим непонятна будет. Или просто вернуть "Неопределено" когда этот массив пуст.