Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.063 c