![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
KOLScktComp [Delphi, Windows]
DeimosX7 © (2004-07-28 11:36:00)Как правильно создать событие ServerSocket.OnClientRead ?
я пробовал так :
procedure ServerSocketClientRead (Sender: PObj; Socket: PCustomWinSocket);
begin
//код
end;
и вызов :
ServerSocket.OnClientRead := TOnEvent(MakeMethod(nil,@ServerSocketClientRead));
Компиляторговорит :
[Error] main.dpr(90): Incompatible types: Parameter lists differ
Gandalf (2004-08-17 22:41:00) [1]И что происходит?
DeimosX7 (2004-07-29 17:05:00) [2]хм.. тут вот какая проблема..
я пытаюсь написать прогу для удаленного ведения log-ов
на базе сокетов
но ни чего не выходит..
упростил все до минимума в целях проверки,
та-же история
может подскажет кто?
условия работы такие:
2 компа
сервер 192.168.1.2
клиент 192.168.1.1
-------------------------------------
вот код:
сервер:
пишет все полученное в мемо
program TestServer;
uses
kol,
Windows,
Messages,
KOLScktComp;
var
form,memo:Pcontrol;
ServerSocket:TKOLServerSocket;
//---------------------------------
procedure ServerSocketClientRead (Sender: PObj; Socket: PCustomWinSocket);
begin
memo.add(socket.receiveText);
end;
//---------------------------------
begin
Applet:=NewApplet('TestServer');
form:=NewForm(Applet,'TestServer');
Form.Style := WS_SYSMENU or WS_VISIBLE ;
form.CenterOnParent ;
Form.Font.FontName := 'MS Sans Serif';
Form.Font.FontHeight := 9;
memo:=NewEditBox( Form,[eoMultiline,eoNoHScroll,eoNoVScroll,eoReadonly]).SetPosition(2,38).SetSize(290,160);
ServerSocket := NewServerSocket;
serverSocket.Port:=2066;
Form.Add2AutoFree(ServerSocket );
serverSocket.Active:=true;
serverSocket.OnClientRead:= TSocketNotifyEvent (MakeMethod(nil,@ServerSocketClientRead));
applet.StayOnTop:=true;
form.SetSize(300,300);
run(Applet);
end.
//--------------------------------
клиент:
раз в 4 секунды посылает сообщение(в тестовых целях)
видимой части не имеет..
program STest;
uses
kol,
Windows,
Messages,
KOLScktComp;
var
clientSocket:TKOLClientSocket;
begin
ClientSocket := NewClientSocket;
clientSocket.Port:=2066;
while true do
begin
clientSocket.Address:='192.168.1.2';
clientSocket.Active:=true;
clientSocket.Socket.SendText('message');
clientSocket.Active:=false;
sleep(4000);
end;
end.
fellix (2004-07-28 12:16:00) [3]... OnClientRead := TSocketNotifyEvent(MakeMethod(...