Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.46 MB
Время: 0.052 c
2-1266325693
Rail
2010-02-16 16:08
2010.08.27
как правильно указать путь к бд


2-1268377125
Oleksiy
2010-03-12 09:58
2010.08.27
Размер Шрифта


2-1272205654
romario
2010-04-25 18:27
2010.08.27
Работа с текстовым файлом


15-1275598450
Медвежонок Пятачок
2010-06-04 00:54
2010.08.27
это фотошоп или все по честному?


15-1274364250
Sergey Masloff
2010-05-20 18:04
2010.08.27
Работа с RFID метками. Пробовал кто?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский