Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Странно. Не заметил ее сразу.
Протестировал.
Она работала бы. Но вот длину строки 16000 символов она не принимает. Возвращает пустой результат.
А при длине строки 50 символов - работает нормально.
Может это как-то связано с тем, что используется не срока, а указатель на буфер?
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Вообще, размер буфера при вызове функции задается в виде переменной типа INT, так что его максимальное значение 32767 байт.
Ваши строки по размеру близки к граничным значениям - например, склеить две строки по 16000 символов с помощью этой функции не получится.
Один из вариантов решения проблемы предложил выше capzap.
Альтернативный - использовать эту библиотеку:
https://dropmefiles.com/3g5BL
В ней есть своя версия функции StrConcatW, где буфер уже типа UDINT и есть ФБ StringWriter, который предназначен как раз для склеивания длинных строк.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk