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

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

работа с tfilestream и динамическим массивом [D5, WinXP]


alex_sc ©   (2004-07-16 16:21:00) 

Уважаемые программисты.

Подскажите где у меня ошибка. Все работает нормально пока не дойдет до FreeMem. Выдает Invalid pointer operation.
var buf : pchar;
...
l := Socket.ReceiveLength;
GetMem(buf,l+1);
Readerror:=Socket.ReceiveBuf(buf,l);
If readerror > 0 then
begin
src := TFileStream.Create'c:\myfile.txt',fmOpenReadWrite);
src.Seek(0,soFromEnd);
src.WriteBuffer(buf,l);
src.Free;
end;
FreeMem(buf);

Заранее спасибо. Алексей


Digitman   (2004-07-19 13:00:00) [1]


> alex_sc   (19.07.04 12:47) [2]


да, разумеется


alex_sc   (2004-07-19 12:47:00) [2]

Большое спасибо
Правда заработало только после изменения
Readerror:=Socket.ReceiveBuf(buf,l) на
Readerror:=Socket.ReceiveBuf(buf^,l);
Алексей


Digitman   (2004-07-16 16:42:00) [3]

l := Socket.ReceiveLength;
GetMem(buf,l);
Readerror:=Socket.ReceiveBuf(buf,l);
If readerror > 0 then
begin
src := TFileStream.Create'c:\myfile.txt',fmOpenReadWrite);
src.Seek(0,soFromEnd);
src.WriteBuffer(buf^,Readerror);
src.Free;
end;
FreeMem(buf);


Наверх

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