Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 07.04.2020
Сообщений: 3

Lua встроенная в программу. Ошибка библиотеки

08.04.2020, 16:26. Показов 1714. Ответов 4
Метки lua (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день!!

занимаюсь в основном автоматизацей тех.процессов. и есть у нас такая программа как Universal MasterOPC INSAT
работает она в основном как сервер для опроса пром. контроллеров
и в эту программу встроен lua 5.1 в качестве скрипта
но в усеченном варианте

и понабилось мне с помощью http запросов выводить данные с сайта в этот орс-сервер Universal MasterOPC

скачал несколько библиотек для lua socket.lua. расместил их в C:\ProgramData\InSAT\Multi-Protocol MasterOPC Server\MODULES и C:\ProgramData\InSAT\Multi-Protocol MasterOPC Server\СMODULES

проблемы начинаются уже при объявлении библиотеки
при записи
local http = require("socket.http");

приходит ошибка, хотя core.dll находится в этой папке :
error loading module 'socket.core' from file 'C:/ProgramData/InSAT/Multi-Protocol MasterOPC Server/CMODULES/socket\core.dll':
Не найден указанный модуль.

если же указать место расположение core.dll функцией C_MODULES
dofile (C_MODULES.."\\socket\\core.dll");

то приходит ошибка
(...Multi-Protocol MasterOPC Server\CMODULES\socket\core.dll:1: '=' expected)

подскажите в чем тут может быть проблема и куда копать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.04.2020, 16:26
Ответы с готовыми решениями:

Lua, ооп библиотеки, виртуальные функции
Не подскажет ли кто ооп библиотеку с возможностью создания виртуальных функций - и самое главное с возможностью из виртуальной функции...

Ошибка lua
Всем привет Попался мне один файлик resource.car после его распаковки появилось 40 файлов с расширением lu Скрин...

Lua передача таблицы в программу на C++
Пытаюсь передать таблицу из скрипта на Lua в программу на С++. Если таблица - одномерный массив, то все нормально. Код на Lua: ...

4
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
08.04.2020, 17:57
require берет имя модуля без расширений...
попробуйте local http = require("socket")

dofile исполняет луа-скрипт - подсовывать ему dll - все равно что принять теКстовый файл за исполняемый...

Не по теме:

ps: день был тяжелый, может быть сумбурно объясняю...

0
0 / 0 / 0
Регистрация: 07.04.2020
Сообщений: 3
08.04.2020, 18:09  [ТС]
я и так и так пробовал. все равно не находит core.dll

error loading module 'socket.core' from file 'C:/ProgramData/InSAT/Multi-Protocol MasterOPC Server/CMODULES/socket\core.dll':
Вложения
Тип файла: zip luasocket.zip (328.7 Кб, 0 просмотров)
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
08.04.2020, 18:30
эээ... Луа строит путь к модулям от бинарника. Где находится .ехе этой вашей программы? попробуйте перенести библиотеку socket в соответствии с этим...
1
0 / 0 / 0
Регистрация: 07.04.2020
Сообщений: 3
11.04.2020, 20:37  [ТС]
попробовал установить LuaForWindows_v5.1.4-46.exe. и ошибка пропала
error loading module 'socket.core' from file 'C:/ProgramData/InSAT/Multi-Protocol MasterOPC Server/CMODULES/socket\core.dll'

теперь вообще никаких сообщений и скрипт видимо виснет
нашел похожую проблему:

"Попытался выполнить для начала код
http = require("socket.http")

При переходе в режим исполнения появилось сообщение о невозможности найти модуль socket.http , из чего я сделал вывод, что в принципе require работает. Более того, в перечне констант Lua, доступном из окна редактирования скрипта в MasterOPC, были обнаружены переменные LUA_MODULES и C_MODULES.
После того, как в директорию, на которую указывает LUA_MODULES, были помещены lua-модули библиотеки socket, стал ругаться уже сам модуль socket.http, сообщая, что не находит core.lua. После установки в C_MODULES C-модулей этой библиотеки, ругаться перестал, однако скрипт молча падает, не выводя никаких сообщений в консоль. Вывод о падении был сделан потому, что код:

a = require("socket.http")
server.Message ("working")

Не выводит ничего
Попытка поймать какую-то ошибку кодом вида:

a,b = pcall(require,"socket.http")
server.Message (a)

тоже ничего не дала."

ответ техподдерки
"В Modbus Universal теоретически можно подключать сторонние LUA библиотеки, однако библиотеки должны поддерживать асинхронный режим, иначе просто повиснет сервер. "


то есть socket.http синхронен?
а какие есть еще асинхронные библиотеки для http запросов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2020, 20:37
Помогаю со студенческими работами здесь

Code::Blocks 13.12 и Lua = ошибка lua_open
Привет, подскажите в чем проблема: этот код работает нормально: #include <iostream> extern "C" { #include...

Lua наследование, lua ооп
Подскажите пожалуйста, как наследовать класс? Не получается выдаёт ошибку local car = {} -- Прежде чем создавать экземпляры объекта,...

Посоветуйте программу для написания, просмотра и отладки lua скриптов
Посоветуйте пожалуйста программу для написания, просмотра и отладки lua скриптов. Мне конечно удобнее писать скрипты в Notepad++, но у него...

Ошибка в использовании библиотеки/ошибка в библиотеке
Изучаю Java, написал библиотеку для рисования некоторых геометрических фигур (точка, круг, квадрат, прямоугольник, эллипс, треугольник)....

Добавление библиотеки в программу
Помогите пожалуйста! Нужно добавить в список библиотек System.Diagnostics. Кака это сделать???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru