Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2011, 23:21   #1
KiL0z
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 35
По умолчанию Array Of Byte -> TStream

Пишу в Delphi 2010. Делаю так:
Код:
var
...
 arr: array of Byte;
...
  SetLength(arr, size);
... { заполняем arr } ...
  AStream.Write(arr[0], Length(arr));
...
  SetLength(arr, 0);
...
Ошибка на строек AStream.Write(arr[0], Length(arr))
Подскажите, как записать array of Byte в TStream?

PS ну, и как проделать обратное ( TStream -> Array Of Byte )

Последний раз редактировалось KiL0z; 17.06.2011 в 23:23. Причина: добавлено PS
KiL0z вне форума Ответить с цитированием
Старый 18.06.2011, 00:46   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

какая ошибка то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.06.2011, 08:29   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

+1
Цитата:
TStream -> Array Of Byte
stream.readbuffer()
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 18.06.2011, 13:05   #4
KiL0z
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 35
По умолчанию

Относящихся к этой строке 3 ошибки, конкретных 2ве (см. не курсив):
Цитата:
Source Breakpoint at $0058F15A: F:\Разработка проекта\03\Other\uTypesClasses.pas line 751. Process Project.exe (4836)
First chance exception at $7670B727. Exception class EAccessViolation with message 'Access violation at address 0058F16A in module 'Project.exe'. Read of address 00000001'. Process Project.exe (4836)
First chance exception at $7670B727. Exception class EListError with message 'List index out of bounds (0)'. Process Project.exe (4836)
и такой же набор ошибок, если пишу AStream.Write(arr, Length(arr)) вместо AStream.Write(arr[0], Length(arr))
KiL0z вне форума Ответить с цитированием
Старый 18.06.2011, 13:30   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
First chance exception at $7670B727. Exception class EListError with message 'List index out of bounds (0)'. Process Project.exe (4836)
так так так, списки то к массиву не имеют отношения, может покажете настоящий код уж тогда?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.06.2011, 14:02   #6
KiL0z
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 35
По умолчанию

так я и привел строчки из реального кода, с которым работаю...
и List index out of bounds (0) именно после попытки выполнения этой строки выскакивает, если закоментить её - ошибок нет вообще.

AStream передается этой функции из другой, где он имеет тип TMemoryStream, не может быть что бы дело было в этом...

PS а всё... я создал AStream после передачи его функции записи в поток... надо выспаться...

Последний раз редактировалось KiL0z; 18.06.2011 в 14:22. Причина: описание того откуда берется AStream
KiL0z вне форума Ответить с цитированием
Старый 18.06.2011, 16:25   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...а кто-то еще код полностью не хотел показывать
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 18.06.2011, 17:56   #8
KiL0z
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 35
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...а кто-то еще код полностью не хотел показывать
Полностью код? у меня эти функции находятся в разных модулях и размером в несколько тысяч строк, сами по себе, не считая остального содержания модулей. Я просто диплом дописываю, осталось только запись в файл, а в голове уже каша полная...
KiL0z вне форума Ответить с цитированием
Старый 18.06.2011, 18:49   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

на будущее:
отладка, отладка и еще раз отладка.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.06.2011, 20:17   #10
KiL0z
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 35
По умолчанию

времени уже нету... и так опаздываю из-за мед обследования по направлению от военкомата...
KiL0z вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преоброзования Byte Array to Single and Integer mrCloud Общие вопросы Delphi 1 14.06.2011 21:08
unsigned char в array<Byte> Artemprodigy Visual C++ 0 23.03.2011 11:19
Байты из файла в array of Byte Cold_Night Помощь студентам 5 09.12.2009 15:46
convert(array of byte, real48) Ringess Общие вопросы Delphi 3 24.06.2009 13:03
Array of byte в файл Deight Общие вопросы Delphi 3 05.12.2008 19:10