![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процедура обработки OnClientRead [D7, Win95/98]
balepa © (2006-03-28 10:45:00)Не могу понять как написать процедуру обработки для Получения пришедших данных плз небольшой кодик или направьте куда-нибудь (TServerSocket,D7,Win98)
Сергей М. (2006-03-28 11:19:00) [1]
> как мне описать процедуру
Эта процера д.б. описана не как регулярная, а как метод любого класса, например, класса формы.
interface
TForm1 = class(TForm)
..
procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket);
..
end;
implementation
..
procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
..
end;
balepa (2006-03-28 11:14:00) [2]
var
...
ClientRead: TSocketNotifyEvent;
implementation
? ClientRead(???????);
var
Len: Integer;
Buf: Pointer;
begin
..
Len := Socket.ReseiveLength;
ShowMessage('Ожидается ' + IntToStr(Len) + ' байт');
GetMem(Buf, Len);
try
Len := Socket.ReceiveBuf(Buf^, Len);
ShowMessage('Фактически принято ' + IntToStr(Len) + ' байт');
finally
Freemem(Buf);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
TimeL.Caption:= DateTimeToStr(Now);
TimeL.Left:= (Form1.Width div 2)-(TimeL.Width div 2);
QueryWork:= 0;
ServerSocket.Port:= 5000;
................................................
ServerSocket.OnClientRead:= ClientRead;
ServerSocket.Active:= True;
end;
balepa (2006-03-28 11:05:00) [3]Спасибо конечно, но как мне описать процедуру
procedure ?.ClientRead(??????)
Сергей М. (2006-03-28 10:53:00) [4]Примерно так :
var
Len: Integer;
Buf: Pointer;
..
Len := Socket.ReseiveLength;
ShowMessage('Ожидается ' + IntToStr(Len) + ' байт');
GetMem(Buf, Len);
try
Len := Socket.ReceiveBuf(Buf^, Len);
ShowMessage('Фактически принято ' + IntToStr(Len) + ' байт');
finally
Freemem(Buf);
end;