OneScript
OneScript copied to clipboard
После упаковки в EXE-модуль не работают внешние компоненты.
Скрипт из двух строчек:
ПодключитьВнешнююКомпоненту("C:\repo\Scripts\oscript-gui.dll");
УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс();
Скрипт работает без ошибок. Путь к внешней компоненте абсолютный.
Конвентируем в exe-файл в этот же каталог. Екзешник при запуске вываливается с ошибкой:
"Конструктор не найден (УправляемыйИнтерфейс)"
т. е. компонента подключается, но класс не создается.
Наблюдается такая же проблема, це баг або фіча?
Упаковка в скрипта EXE это фича, а упаковка в exe совместно с отдельными от скрипта файлами - неизведанный доселе способ использования этой фичи. Идейно - должно работать. Но раз не работает, то вроде как баг. Метка хелп-уонтед установлена.
В моем случае библиотека для GUI не подключается как
ПодключитьВнешнююКомпоненту("C:\repo\Scripts\oscript-gui.dll");
а используется импорт #Использовать gui
Тогда это именно фича а не баг.
не пробовали упаковывать аспаком? http://www.asprotect.ru/aspack.html
@Solzhnin да там не о том речь
В версии onescript 1.2.0.92 библиотека для GUI, а так же моя собственная библиотека dll в EXE версии скрипта запускается нормально. В версиях 1.3.0.1, 1.4.0.172 для платформ x86 и x64 при создании класса (например, Новый УправляемыйИнтерфейс()), выводится сообщение, которое уже приводилось в начале этого тикета: {Модуль oscript://.Module.$entry / Ошибка в строке: 27 / Конструктор не найден (УправляемыйИнтерфейс)}
Библиотеки должны быть переупакованы в макеты