Как стать автором
Обновить

Комментарии 4

Я в свое время так и не смог заставить Native API передавать массив во внешнюю компоненту и возвращать массив из нее
Получается, что компоненты, сделанные с помощью Native API можно юзать только для поддержки оборудования и смежных задачах
Интересно, как сейчас с этим у 1С. Осталась проблема с передачей/возвратом массива?
Статья писалась как пояснение к внешней компоненте для работы с RFID-считывателями. В рамках этой задачи передавать/возвращать массив не требовалось, потому даже не пробовал.
Всё так и осталось, передача массивов не предусмотрена.
В виде параметров можно передавать только примитивные типы. Исключение есть только для строк.
При необходимости передать массив можно использовать две стратегии:

1) Одной процедурой сказать компоненте, что нужно создать новый массив с определенным идентификатором. Далее второй процедурой в массив с определенным идентификатором в цикле добавляются элементы.
2) Так же можно штатно сериализировать массив (список значений, структуру, соответствие, таблицы значений, а так же их комбинации) и передать в виде строкового параметра. В этом случае важно не забывать, что тип строкового параметра широкая строка (в C — это wchar*). Так же нужно написать в компоненте процедуру создания требуемой структуры в памяти по её описанию.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.