Наступил на грабли и не найду решения.
Объявил свойство ActiveX компонента с типом BSTR, через которое передаю ему 6 байт мак-адреса Bluetooth-устройства.
Байты на вход из источника (Labview) приходится передавать, конвертировав их в строку. Эту строку я вижу в HEX-формате — она честная и содержит верные коды.
Не смотря на то что тип BSTR декларирован как композитный и может передавать любые данные, данные приходят как Unicode. Т.е. парными байтами.
Сделал конверсию — вроде сначала заработало.
Но как только поменял значение оджного из байтов на большее чем ASCII, получил его каккое-то конвертированное значение.
Например код 0х80 становится 0х02, а код 0х85 превращается в 0х26
Вижу, что на вход из источника коды (строка байтов) поступают правильные. А в отладчике — аргумент свойства внутри AX уже преобразован чудным образом.
Каким образом можно передать эти 6 байт (unsigned char) в СОМ-компонент?