JsonToArray и ArrayToJson на сервере LiveCode - PullRequest
1 голос
/ 14 мая 2019

Функции JsonToArray и ArrayToJson нормально работают на LC, однако я недавно пытался использовать эти функции на LC Server, и они не работают, просто получаю ошибку

Function: error in function handler (JSONToArray)

Итак, ясейчас я прибег к использованию fastjson, однако мне бы хотелось использовать тот же код для сервера, который я использую в приложениях LC (есть нюансы различий между fastjson и нативными функциями).

Я справился честнонемного поиска, но не нашел однозначного ответа о том, как заставить эти функции работать на сервере.

Ниже приведена настройка, которую я тестирую на

  • Windows10 Enterprise (тестовая среда)

  • Apache 2.4

  • LiveCodeCommunityServer-9_0_2

Любое руководство будетбыть наиболее ценным.

1 Ответ

1 голос
/ 14 мая 2019

Внешние библиотеки, подобные этой, не включаются автоматически в сборку LiveCode Server. Вы должны вручную переместить библиотеку на свой сервер, а затем загрузить расширение, которое хотите использовать. Я не сделал это точно, но мне нужно было использовать функции JSonExport и JSonImport в сценарии сервера LC. Вот что я должен был сделать:

  1. Найдите файлы для библиотек, которые определяют эту функцию, в настольной версии вашей установки LiveCode. Если вы посмотрите на функцию в Словаре, вы найдете название библиотеки в разделе Ассоциации. В моем примере библиотеку можно найти, перейдя в папку LiveCode в «Программы» (X86) и выбрав «Tools\Extensions». Мои функции были в библиотеке com.livecode.library.json.
  2. Скопируйте папку библиотеки на свой сервер LC. Я просто скопировал всю папку в ту же папку, что и файл .lc, вызывая функцию.
  3. Загрузите расширение в ваш файл .lc, например так:

    загрузить расширение из файла "com.livecode.library.json / module.lcm"

После этого вы сможете вызывать функцию (и). Я предполагаю, что процедура будет аналогичной для вашего вызова JSONToArray. Я заметил, что библиотека для вашей функции - это mergJSON, которую можно найти в Tools\Ext\mergJSON-1.0.56. В этой папке нет файла .lcm (двоичный файл LiveCode Builder), поэтому может потребоваться загрузить файл .dll. Эксперименты в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...