Форум: "WinAPI";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
ВнизЧто не так? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c