![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
stream1.read(stream2,size); почему не работает?
self.name © (2008-08-02 01:12:00)добрый вечер, мастера.
знаю, что можно сделать stream2.copyfrom..., но интересует именно такая реализация, как в теме..подскажите, в чём загвоздка?
self.name (2008-08-02 19:11:00) [1]всё) всем спасибо. сделал
function CopyData(ToStream:TStream):int64;//return OldPosition
var
mDataHeader:ToDataHeader;
begin
Result:=fTEST.Position;
fTEST.ReadBuffer(mDataHeader,SizeOf(mDataHeader));
ToStream.CopyFrom(fTEST,mDataHeader.Size);
end;
работает.
Сергей М. (2008-08-02 18:49:00) [2]
> self.name © (02.08.08 18:45) [31]
см. [17], [32]
Palladin (2008-08-02 18:46:00) [3]да поди ерунду в параметре Buffer передает... как например в заголовке темы... нчм )
self.name (2008-08-02 18:45:00) [4]> [30]
Access Violation
Сергей М. (2008-08-02 18:36:00) [5]
> вылетает ошибка
Какая ? Куда и каким рейсом ?
self.name (2008-08-02 18:32:00) [6]
ToDataHeader = record
Name: string[25];
Size: integer;
end;
...
function ReadData(var Buffer):int64;//return OldPosition
var
mDataHeader:ToDataHeader;
begin
Result:=f.Position;
f.ReadBuffer(mDataHeader,SizeOf(mDataHeader));
f.ReadBuffer(Buffer, mDataHeader.Size);
end;
вот оно..вообщем-то. f: TFIleStream - создан до вызова ReadData.
> Что значит "не могу" ?
обратиться к стриму не могу, потому что вылетает ошибка.
Anatoly Podgoretsky (2008-08-02 18:06:00) [7]> Сергей М. (02.08.2008 18:03:27) [27]
А что других провайдеров, кроме Стрима нет?
Сергей М. (2008-08-02 18:03:00) [8]
> может предъявишь
Как он тебе предъявит-то ?
Он же стесняется обратиться к стриму, мол, многоуважаемый стрим, разрешите Вас представить на обозрение)
Amoeba (2008-08-02 17:59:00) [9]
> self.name © (02.08.08 15:02) [22]
Свой код может предъявишь на обозрение?
Сергей М. (2008-08-02 17:47:00) [10]
> такого чтения вообще не могу обратиться к stream2
Что значит "не могу" ?
Тебе кто-то или что-то мешает ?
self.name (2008-08-02 15:49:00) [11]:)можно
sniknik (2008-08-02 15:14:00) [12]> это ж выходит ненормально.
это нормально. абсолютно нормально. оно делает именно то для чего написано. но вот ты почемуто ждешь другого.
p.s.
имхо, автор безнадежен. тему можно закрывать. он так ничего и не понял, и не поймет судя по всему.
считает, что дело в стриме/методах, а не в нем/его дурости/написанной им абракадабре.
------------------------------------------
поросенок не мечтающий стать беконом, бесперспективен! © афоризмы какието.
self.name (2008-08-02 15:02:00) [13]так как я записал в теме. это ж выходит ненормально...как я понял.
после такого чтения вообще не могу обратиться к stream2
Сергей М. (2008-08-02 14:49:00) [14]
> незнаю, как подставить stream так, чтобы данные записались
> нормально
А как они, по-твоему, записываются "ненормально" ?
self.name (2008-08-02 14:24:00) [15]вот...незнаю, как подставить stream так, чтобы данные записались нормально
а в интернетеничего и не найти. потому и пришлось обойти так.
Сергей М. (2008-08-02 14:15:00) [16]Мда ..
Печально я гляжу на наше ..
self.name (2008-08-02 14:11:00) [17]ничего они не делают) ничем не стучали.
сделал CopyFrom - всё работает
Сергей М. (2008-08-02 13:47:00) [18]
> как бы заставить его работать?
>
Передать ему правильныепараметры.
А с какого вдруг перепугу Read ? Ты самоделкин что ли ?
Есть же Read Buffer, Write Buffer- они же тебе, чуть что не так, обязаны хряснуть по макушке соотв. исключением)
self.name (2008-08-02 13:35:00) [19]или проще, наверное, будет написать еще одну процедуру, которая будет делать CopyFrom..?
self.name (2008-08-02 13:28:00) [20]прочёл. понял.
а как бы заставить его работать?