![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа с 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);