OneScript
OneScript copied to clipboard
Слетает позиция потока при вызове методов объекта ЧтениеДанных в отладчике
Опишите ошибку
Позиция целевого потока ЧтенияДанных
из ДвоичныхДанных
слетает до 64 в отладчике (VSC) при вызове метода Прочитать()
и ЦелевойПоток().ТекущаяПозиция()
. При этом, при выполнении скрипта через CL все нормально. Также не возникает такая проблема (ни в отладчике, ни в CL), если чтение данных основано на ФайловыйПоток
В отладчике - значения одинаковые
В CL - значения разные
Воспроизведение ошибки
- Создать
ЧтениеДанных
на основеДвоичныхДанных
(размер данных в примере ~1,5 GB) - Прочитать некоторую часть этих данных через
ЧтениеДанных.Прочитать(РазмерЧасти);
- Попытаться определить позицию потока через
ЧтениеДанных.ИсходныйПоток().ТекущаяПозиция()
или получить двоичные данные изЧтениеДанных.Прочитать(РазмерЧасти).ПолучитьДвоичныеДанные()
РазмерЧасти = 268435456;
ДвоичныеДанные = Новый ДвоичныеДанные("D:\GD\Мой диск\3.zip");
ЧтениеДанных = Новый ЧтениеДанных(ДвоичныеДанные);
Для Н = 0 По 5 Цикл
Сообщить(ЧтениеДанных.Прочитать(РазмерЧасти).ПолучитьДвоичныеДанные());
А = ЧтениеДанных.ИсходныйПоток().ТекущаяПозиция();
Сообщить(А);
КонецЦикла;
Ожидаемое поведение Позиция должна равняться числу прочитанных байт, вызов метода ПолучитьДвоичныеДанные из результата чтения не должно возвращать одни и те же данные при чтении в цикле
Окружение
- ОС: Windows 10
- Версия: 1.9.0.6