![]() |
|
![]() ![]() ![]() |
|
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Здравствуйте!
Хочу кое-что уточнить. Такая ситуация: Я записываю в начало потока (TMemoryStream *) значение типа int, а потом ещё какие-нибудь другие. После этого устанавливаю Position = 0 и записываю другое значение типа int. Вопрос в том, останется ли в живых всё остальное. А то в справке написано:
Как я понял старое значение перезаписывается, а Size становится равным Position + Count. Значит можно предположить, что всё остальное потеряно. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
Буфер памяти TMemoryStream - линейная область памяти. Все останется, буфер памяти не очищается при записи, даже когда требуется расширение. Но это (неповреждение остальных данных) касается случая, когда в перезаписываемый участок мы будем писать столько байт, сколько сответствовало ранее записываемым в него данным. Если пишем меньше - будет участок неиспользуемых данных (не так критично, можно сказать, нет повреждения). Пишем больше - повреждение соседних данных (а это уже плохо)
![]() Твоя задача - сместить Position в нужную величину. Это сообщение отредактировал(а) Rrader - 1.2.2009, 17:49 |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Т.е. после того, как я перезапишу первое значение типа int на другое, то все остальные данные останутся. А почему тогда в справке написано, что Size становится равным Position + Count? Насколько я знаю, если задать Size, то не помещающаяся инфа будет обрезаться...
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
||||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Rrader, успокоил
![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |