Домашний медиа-сервер (UPnP, DLNA, HTTP)
http://homemediaserver.ru/forum/

Ошибки в версии HMS 3.0
http://homemediaserver.ru/forum/viewtopic.php?f=24&t=6971
Страница 1 из 1

Автор:  WendyH [ Пт апр 05, 2019 9:19 pm ]
Заголовок сообщения:  Ошибки в версии HMS 3.0

1) В версии HMS 3.0 появился существенный недостаток для дополнений. В интерфейсе IHmsScriptEditor не вызывается функция SetRunning при смене режима отладки.
Например, при нажатии F8 или на кнопку "Выполнить скрипт".
Из-за этого редактор не всегда может осознать, что теперь включился режим отладки (или выключился).

Временным решением в дополнении HMSEditor_addon пока сделал так, что в событии смены каретки я делаю вызов GetCurrentState, где определяю режим.
Но это значит, что редактор переключит режим только после того, как что-то в редакторе будет нажато или сделано.
Однако, если просто во время отладки нажать кнопку проверки синтаксиса чтобы выйти из режима отладки - редактор будет отображать всё так, как-будто ничего не произошло, хотя на самом деле режим сменился.

2) Функции HmsStringToHex и HmsCryptFormatEncode("HEX", ... ) возвращают неверные данные, если код символа больше 127.
Например: HmsStringToHex( chr(200) ) должен возвращать "с8", вместо этого возвращает "45".
Все подкасты или скрипты использующие эти функции не будут работать или будут работать неправильно.

Если данная информация не подходит к данному разделу, просьба указать, куда эту информацию можно писать.

Автор:  Paxa8407 [ Пт апр 12, 2019 10:47 pm ]
Заголовок сообщения:  Re: Ошибки в версии HMS 3.0

Переустановился до 3,0 и перестало iptv работать, при тестовом транскодировании выдаёт ошибку "не удаётся найти vlc.exe "
Изображение

Уже и обновился до 3.01 и vlc переустановил и путь в программе к нему прописал

Автор:  Eugene [ Сб апр 13, 2019 4:38 pm ]
Заголовок сообщения:  Re: Ошибки в версии HMS 3.0

Paxa8407 писал(а):
Переустановился до 3,0 и перестало iptv работать, при тестовом транскодировании выдаёт ошибку "не удаётся найти vlc.exe "
Уже и обновился до 3.01 и vlc переустановил и путь в программе к нему прописал

Настройка - Транскодер - Профили - Список транскодеров - VLC - Изменить - Путь - указать путь к vlc.exe

Автор:  Eugene [ Сб апр 13, 2019 6:49 pm ]
Заголовок сообщения:  Re: Ошибки в версии HMS 3.0

WendyH писал(а):
2) Функции HmsStringToHex и HmsCryptFormatEncode("HEX", ... ) возвращают неверные данные, если код символа больше 127.
Например: HmsStringToHex( chr(200) ) должен возвращать "с8", вместо этого возвращает "45".
Все подкасты или скрипты использующие эти функции не будут работать или будут работать неправильно.

В версии 3.0 функция chr возвращает WideChar (2 байта), в предыдущих версиях возвращался AnsiChar (1 байт) и вопрос о работе функции в данном случае остается открытым.

Цитата:
ShowMessage(HmsStringToHex(HmsHexToString(Format('%x', [200])))) - результат с8

На данный момент HmsStringToHex ожидает "правильно" преобразованную Ansi-строку в Wide-строку (преобразование использует страницу 1251),
которая проходила бы обратное преобразование (Wide - Ansi).
Функция AnsiChr, которая будет возращать "правильно" преобразованный символ будет добавлена, но в зависимости от реальной задачи, наверно надо использовать другое решение (без использования Chr, AnsiChr).

Автор:  WendyH [ Сб апр 20, 2019 7:39 pm ]
Заголовок сообщения:  Re: Ошибки в версии HMS 3.0

Стал переписывать скрипт набора текста с телека, наткнулся на новую проблему.
Команда HmsRegexMatch('(.)', 'Я', sVal) возвращает не тот символ (как я понимаю первый код широкого символа).
Причём HmsRegexMatch('(..)', 'ЯЯ', sVal) вернёт в sVal не два символа, как ожидается по регулярке, а одну букву 'Я'.
А это уже проблема. Версия HMS 3.01.

Несомненно, переход на поддержку отображения интернациональных символов - это хорошо.

P.S.: И ключевой символ \w в регулярках теперь не вылавливает русские буквы.

Автор:  Eugene [ Вс апр 21, 2019 8:35 am ]
Заголовок сообщения:  Re: Ошибки в версии HMS 3.0

WendyH писал(а):
Стал переписывать скрипт набора текста с телека, наткнулся на новую проблему.
Команда HmsRegexMatch('(.)', 'Я', sVal) возвращает не тот символ (как я понимаю первый код широкого символа).
Причём HmsRegexMatch('(..)', 'ЯЯ', sVal) вернёт в sVal не два символа, как ожидается по регулярке, а одну букву 'Я'.
А это уже проблема. Версия HMS 3.01.


На данный момент, проблему решает добавление опции

Код:
const
  PCRE_UTF8 = $00000800;


WendyH писал(а):
P.S.: И ключевой символ \w в регулярках теперь не вылавливает русские буквы.

Возможно проблема решается какими-то модификаторами, затрудняюсь с ответом.

Автор:  Eugene [ Вс апр 21, 2019 11:09 am ]
Заголовок сообщения:  Re: Ошибки в версии HMS 3.0

WendyH писал(а):
P.S.: И ключевой символ \w в регулярках теперь не вылавливает русские буквы.

Работает
Код:
[\p{L}|\p{N}|_]

но возможно можно проще

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/