Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

Что не так?   Найти похожие ветки 

 
Cosmic ©   (2003-01-14 10:58) [0]

Есть прога:

program server;

{$APPTYPE CONSOLE}
uses
SysUtils,
ScktComp, Windows, Messages;

type
TEvents=class
procedure Accept(Sender: TObject; Socket: TCustomWinSocket);
procedure Receive(Sender: TObject; Socket: TCustomWinSocket);
procedure Connect(Sender: TObject; Socket: TCustomWinSocket);
procedure disconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
end;

procedure TEvents.Accept(Sender: TObject; Socket: TCustomWinSocket);
begin
writeln("client accept");
end;

procedure TEvents.Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText("hello");
writeln("client connect");
end;

procedure TEvents.Receive(Sender: TObject; Socket: TCustomWinSocket);
begin
writeln("client Receive");
end;

procedure TEvents.disconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
writeln("client disconect");
end;

procedure TEvents.error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
writeln("error");
end;

var
Server1 : TServerSocket;
Events:TEvents;
Mesg: TMsg;

begin
Server1.OnClientConnect := ClientConnect;

Events:=TEvents.Create;
Server1.OnClientConnect:=Events.Connect;
Server1.OnAccept:=Events.Accept;
Server1 := TServerSocket.Create( nil );
Server1.Port := 8000;
Server1.Active := True;

While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;

Server1.free;
Events.free;
end.


По идее, при коннекте должна вывеститсь строка "client accept". Но не выводится. Что не так?


 
Bachin   (2003-01-14 11:50) [1]

Потому что у тебя программа на первой строчке падает! (если вообще компилится! проверять не хочу)
и что это за бред?
While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;



 
Cosmic ©   (2003-01-14 14:03) [2]

Не падает, но при коннекте ничего не делает. Лучше бы написал КАК это все сделать правильно.


 
Digitman ©   (2003-01-14 14:43) [3]

То что "не падает" - случайность)... "Упадет" обязательно

А зачем тебе конс.приложение ? Не вижу смысла. Чем обычное не устраивает ?


 
Bachin   (2003-01-14 16:23) [4]

я вообще-то туго себе преставляю каким образом эта
Server1.OnClientConnect := ClientConnect;
строка компилится, а если вдруг происходит сие чудо, то кто такой Server1 и куда он указывает?

первое чем займись - попытайся разобраться с принципом функционирования procedure of object
дальше разберись с классами TClientSocket & TServerSocket
ну а дальше уже переходи на АПИ...

ты же налепил кучу огрызков непонятного назначения! как я могу объяснить "что не так" если ВСЕ НЕ ТАК!

PS если хочешь приблизиться к API - возьми библиотеку ICS...
PSS кстати, там и примеры есть...



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
14-87668
Феликс
2003-02-10 14:54
2003.02.27
Тату. Тьфу. Срамота какая.


1-87360
dimonxp
2003-02-17 08:44
2003.02.27
Проблема при компиляци


3-87304
Alexandr3
2003-02-10 00:05
2003.02.27
Пароль BDE


14-87700
IlyaGer
2003-02-11 17:16
2003.02.27
Где взять с исходниками бесп. комп. типа TreeviewChecklist


14-87708
ИгорьК
2003-02-10 16:31
2003.02.27
Самый остроумный мастер