Closed sorxros closed 5 years ago
А не могли бы прикрепить текст и выражение на котором падает?
Да, конечно. Выражение вот такое: "^(:20:)(.*(\n|$)(?!(^:20:))){4,}" Файл вот in.txt
@sorxros Большое спасибо!
@sorxros Сходу не воспроизвелось, проверял на 32-х битном клиенте, на windows 7. Попробуйте скачать и проверить на последней, 4-ой версии компоненты - https://github.com/alexkmbk/RegEx1CAddin/releases/tag/4
Если ошибка остается, прошу уточнить версию и разрядность платформы и ОС.
Пользуюсь 4 версией. Ошибка повторяется регулярно. У меня win 10 pro 64x. Пробую в файловой БД. Сейчас подозреваю, что проблема не в длине строки, а в переносе строки (Символы.ПС). Продолжаю исследовать.
@sorxros Я тестирую следующим кодом: `УстановитьВнешнююКомпоненту("ОбщийМакет.RegEx");
ПодключитьВнешнююКомпоненту("ОбщийМакет.RegEx", "Component", ТипВнешнейКомпоненты.Native);
Рег = Новый("AddIn.Component.RegEx");
Textdoc = New TextDocument;
Textdoc.Read("D:\in.txt");
Рег.НайтиСовпадения(Textdoc.GetText(), "^(:20:)(.*(\n|$)(?!(^:20:))){4,}");
Пока Рег.Следующий() Цикл
Сообщить(Рег.ТекущееЗначение);
КонецЦикла;`
Мой код в общем-то такой же. Пользуюсь платформой 8.3.12.1714. Возможно это баг платформы или файловой версии платформы.
@sorxros Воспроизвелось и у меня, это падает на 64-битном клиенте платформы. То есть проблема в 64-битной версии компоненты. Постараюсь на выходных выделить время на разбор проблемы.
Я тоже попробую разобраться. Если получится, то создам pull request.
@sorxros Буду рад если пришлете pull request :-)
@sorxros в качестве обходного решения можно обрабатывать текст построчно. Пока с проблемой разобраться не удалось, думаю может быть попробовать библиотеку boost.
@sorxros Прикладываю отдельным файлом 64-битную версию компоненты, использующую boost::regex вместо std. На ней ошибки нет. (приложенный файл не является архивом, предназначенным для загрузки в макет)
@sorxros
Выложена новая версия компоненты под номером 5. В ней был добавлен ряд новых возможностей и исправлена данная ошибка. Правда на текущий момент потеряна совместимость с Windows XP.
https://github.com/alexkmbk/RegEx1CAddin/releases/tag/5
Полагаю данный issue можно закрывать.
Большое спасибо!
При передаче в метод длинного текста (пробовал на 500 символах) клиент падает! Очень прошу пофиксить! Разработка очень нужна в жизни!%)