1

Тема: JS: ADODB.Stream работа с бинарными даннами

Доброго времени суток.

Имеется необходимость чтения данных файла в двоичном виде.
Делаю так:

var stream = new ActiveXObject("ADODB.Stream");
stream.Type = 1;
stream.Open();
stream.LoadFromFile(MB_SN + '.tmp');

var Arr = stream.Read(stream.Size);

Насколько я понимаю, в Arr как раз и должно быть то, что мне нужно - двоичные данные. Насколько я понимаю, Arr имеет тип COMSafeArray.

Однако, при лююом обращении к Arr скрипт вылетает с ошибкой " 'Arr' - есть null или не является объектом ".
Ошибка вылетает даже при простом Arr.GetLength()

При этом, под отладчиком - VbsEdit - я вижу, что Arr это массив.

Что я делаю не так?

2

Re: JS: ADODB.Stream работа с бинарными даннами

Массив-то массив, но в нём байты, а с такими массивами JScript не работает. Вообще, на тему бинарного чтения через ADODB.Stream и тому подобное тут вроде немало тем было, поищите.

3

Re: JS: ADODB.Stream работа с бинарными даннами

Если читать файл как бинарник (stream.Type = 1) то полученный массив придется преобразовывать. Вот тут примеры.
А если читать бинарный файл как текст (stream.Type = 2) то с полученной строкой можно делать все что душе угодно