Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

stream1.read(stream2,size); почему не работает?


Страницы:   1 2

self.name ©   (2008-08-02 01:12:00) 

добрый вечер, мастера.
знаю, что можно сделать stream2.copyfrom..., но интересует именно такая реализация, как в теме..подскажите, в чём загвоздка?


sniknik   (2008-08-02 13:21:00) [21]

теперь вернемся к исходному вопросу
> stream1.read(stream2,size); почему не работает?
(мог бы уже и сам "допереть") а почему оно должно работать? (работа тут = ожидаемое тобой копирование данных стрима) если ты вместо нее пытаешься скопировать структуру его обьекта (данных в ней нет, только указатель на них).
ну вот почему?


self.name   (2008-08-02 13:06:00) [22]

)))[12] пост от меня


Gamer   (2008-08-02 13:03:00) [23]


> так таки сам stream или данные которые он содержит?

всё таки хотелось бы данные, которые он содержит..


sniknik   (2008-08-02 12:12:00) [24]

> что надобы и stream записать\считать...и не получается
так таки сам stream или данные которые он содержит?
вообщето когда так говорят подразумевают одно, но ты пытаешься(показываешь) разное но думаешь судя по всему, что это одно и тоже...

> и не получается
в чем это выражается? одно дело ошибка от вызова абстрактного метода, другое получение не тех данных что ожидаются... разные же вещи. а у тебя возможно и то и то в зависимости от скрываемых исходных данных.


Anatoly Podgoretsky   (2008-08-02 09:33:00) [25]

Да адрес передается в процедуру и работает, только не это ожидается.


self.name   (2008-08-02 02:24:00) [26]

сделал надстройку над read, чтобы оно перед записью данных писало что это за данные и их размер...т.е. идет инфа(рекорд)+данные..а вот столкнулся с тем, что надобы и stream записать\считать...и не получается


Поросенок Винни-Пух   (2008-08-02 02:05:00) [27]

а методу нужен указатель на память

адрес ему нужен, а не указатель


Поросенок Винни-Пух   (2008-08-02 02:04:00) [28]

требуется адрес, передается указатель да еще и по ссылке.
и вдруг чудесным образом "должно работать"


Alucard   (2008-08-02 02:03:00) [29]

Stream - это класс, а методу нужен указатель на память, которой данный класс управляет, это свойство Memory.

stream1.read(stream2.Memory,size);


Поросенок Винни-Пух   (2008-08-02 02:02:00) [30]

вообщето оно должно работать...

function Read(var Buffer; Count: Longint): Longint;

с чего это оно вдруг "должно работать" ?


KilkennyCat   (2008-08-02 01:44:00) [31]

установи position на нуль. а то мож ты хрен знает откуда читаешь.


sniknik   (2008-08-02 01:44:00) [32]

> stream1.read(stream2,size); почему не работает?
вообщето оно должно работать... и скорее всего работает.
другое дело, что ожидаешь ты от него (судя по дальнейшему) не того, что оно делает, а совсем другого.

> знаю, что можно сделать stream2.copyfrom...
по смыслу это совсем не тоже самое, что в заголовке.

> но интересует именно такая реализация
ага. хочу перейти дорогу, но не могу, потому, что иду вдоль нее, а не поперек... ???
а скажи зачем тебе именно такая реализация? почему не переходить поперек, если нужно переходить, а реализацию "вдоль" оставить тем кто желает по ней ездить...


Поросенок Винни-Пух   (2008-08-02 01:21:00) [33]

посмотри тип первого параметра для метода read и сравни с тем, что ты ему пытаешься подсунуть


Поросенок Винни-Пух   (2008-08-02 01:20:00) [34]

в тебе загвоздка. хочешь странного.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо