Внешняя обработка: тестПадениеКлиентаВИДиндексы.epf
Открываем модуль объекта (можно и модуль формы).
Пытаемся, например, написать "Справочники".
Вываливается ошибка:
Далее после закрытие этого окна начинают валится сообщения-ошибки ТК при каждой попытке показать подсказку:
Команда "Сообщить о проблеме" также вываливает ошибку:
ScriptEngine.Machine.ExternalSystemException: {Модуль D:\Progs\TurboConf-63\apps\8552\RDT.os / Ошибка в строке: 3806 / Внешнее исключение (System.Runtime.InteropServices.COMException): {ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстаПрограммы.МодульОбъекта(20227)}: Значение не является значением объектного типа (Метаданные)}
ПолеТекстаПрограммы.УстановитьТекст(ТекстМодуля, Ложь,, Ложь, СжатоеИмяМодуля,, ПозицияВТексте + 1, ПозицияВТексте + 1 + СтрДлина(ВыделенныйТекст));
---> System.Runtime.InteropServices.COMException: {ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстаПрограммы.МодульОбъекта(20227)}: Значение не является значением объектного типа (Метаданные)
в ScriptEngine.Machine.Contexts.UnmanagedCOMWrapperContext.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)
Адаптер версии 1.90
После перезапуска приложения ИР удалось сделать "сообщить о проблеме", но в процессе тоже выпала v83unpack
Ссылка скрыта
#1, 27 января 2025 19:17
Ошибку воспроизвести не удалось. У меня в модулях этой внешней обработки нормально работает анализатор кода. Пробовал даже специально в ее модуле внеси ошибку компиляции и записать. Сработала сделанная летом защита
Ошибка создания редактируемой внешней обработки на клиенте с родным модулем объекта. Поэтому создана и закэширована ее копия без модуля. Для отключения кэширования окружите модуль инструкцией "#Если Сервер Тогда" и выполните сброс памятного кэша
Вторичную ошибку в коде ИР исправлю. А вот по первичной пока у меня есть только слабые догадки.
Проверь на другом компьютере.
tormozit изменил статус на Открыто
#2, ред. 27 января 2025 19:27
Возможно проблема в конфликтных версиях dll файлов, на которые опирается v8unpack
Пробуй установить все последние версии наборов стандартных библиотек VC++
https://learn.microsoft.com/ru-ru/cpp/windows/latest-supported-vc-redist?view=msvc-170
Создал связанную заявку в проекте v8unpack https://github.com/e8tools/v8unpack/issues/87
#3, 27 января 2025 19:23
Проверь в консоли кода ИР, работает ли генерация внешней обработки.
#4, 28 января 2025 08:05
(3) tormozit, с другими обработками вроде бы нет такой проблемы.
Можно ли как-то получить командную строку, которую исполняет ИР для распаковки обработки? Я попробую её запустить напрямую
#5, ред. 28 января 2025 08:28
см. ОбработкаОбъект.ирКлсПолеТекстаПрограммы.УстановитьТекст со строки
КаталогРаспаковки = ПолучитьИмяВременногоФайла()
Но отладить ты не сможешь малыми усилиями. Поэтому в консоли кода пытайся изолировано сделать тест, заменив мПлатформа на ирПлатформа
#6, ред. 28 января 2025 10:10
(5) tormozit, нашел как минимум такое
во временном файле для анпака значится следующее:
А сам файл обработки находится в каталоге
"d:\tmp\26-я платформа. Падение"
т.е. в батнике, который создал ИР пропущено тире (-) после "26", что приводит к ошибке "UnpackToFolder. Input file not found!".
Возможно это и является причиной.
P.S.
Перенос обработки в другой каталог (без дефиса в пути) и перезагрузка ТК решило проблему
#7, 28 января 2025 20:08
Исправлено в 1.91
#8, 28 января 2025 21:31
Работает. Спасибо.
Евгений М. изменил статус на Закрыто