Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Recv


Автор: <Spawn> 27.5.2003, 15:01
Что-то я не допонимаю, как использовать функцию Recv из WinSock API. Я ни разу еще не встречал переменных неопределенного типа и не знаю как ее использовать:

function recv(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;

как использовать принимаемый буфер? Заранее благодарен.

Автор: dm9 27.5.2003, 16:03
Делай массив нужной длины - вот тебе и буфер.
A : array [1..1000] of Byte;
Или выделяй память GetMem'ом каким-нибудь.
A : Pointer;
GetMem (A, 1000);
А использовать будешь так:
recv (s,A^,len,flags);

Автор: SmaLL 28.5.2003, 08:14
Лучше для этих целей использовать динамический массив, т.к. можно в рантайме изменять размер буфера.

Код
var
 buf: array of byte;
 len: integer;
...
len:= 100;
SetLength(buf, len);
Recv(s, Pointer(buf)^, len, flags);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)