Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

TThread+TMemoryStream = исключения при чтении в буффер   Найти похожие ветки 

 
urgun   (2010-02-17 11:25) [0]

В потоке вызываю метод другого класса через Synchronize.
В этом методе мне нужно прочитать файл в буфер, делаю так:

   SendData:=TMemoryStream.Create;
   SendData.LoadFromFile(filename);
   BufferSize:=SendData.Size;
   Buffer:=AllocMem(BufferSize);
   SendData.Read(Buffer, BufferSize);
   SendData.Destroy;

В этом месте SendData.Read(Buffer, BufferSize); происходит исключение. Не пойму причину, что не так??


 
Медвежонок Пятачок ©   (2010-02-17 11:37) [1]

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


 
urgun   (2010-02-17 11:42) [2]


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

Что вы хотели этим сказать?


 
Медвежонок Пятачок ©   (2010-02-17 11:46) [3]

то что метод ожидает одно, а ты ему подсовываешь другое.


 
urgun   (2010-02-17 11:50) [4]


> то что метод ожидает одно, а ты ему подсовываешь другое.

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


 
Медвежонок Пятачок ©   (2010-02-17 11:52) [5]

Если это понимаешь, то передай в метод Read правильный первый аргумент.


 
urgun   (2010-02-17 11:56) [6]

Это конечно круто, но почему то сработало так:
SendData.Read(Buffer^, BufferSize);


 
Медвежонок Пятачок ©   (2010-02-17 11:58) [7]

Ты - передовой авианаводчик. (пойнтер)
Я - бомбер.
Я жду от тебя координаты цели. (адрес)
А ты мне передаешь свои координаты. (адрес пойнтера)

Я бросаю туда (по полученным от тебя координатам) бонбу, после чего ты получаешь AV.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.065 c
15-1274255137
Дмитрий С
2010-05-19 11:45
2010.08.27
Есть у кого опыт написания приложений для Apple IPod/IPhone?


15-1275030405
Rembo
2010-05-28 11:06
2010.08.27
При 500 Internal Server Error idHTTP не читает страницу


2-1270885260
roman2
2010-04-10 11:41
2010.08.27
Координаты точки


15-1270053342
AntonioBanderas
2010-03-31 20:35
2010.08.27
MSDOS программка перестала запускаться


2-1267882176
nikih22
2010-03-06 16:29
2010.08.27
SERVESOCKET и CLIENTSOKEТ и интернет