Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

console+sockets [D6, Win95/98]


Алексей Ким ©   (2002-09-20 13:38:00) 

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils,
ScktComp;

type TMyType = class (TObject)
procedure SSClientWrite (Sender: TObject; Socket: TCustomSocket );
end;

const PORT: Integer = 1003;

var cs: TClientSocket;
ss: TServerSocket;
MyType: TMyType;

procedure SSClientWrite(Sender: TObject; Socket: TCustomWinSocket);
var s: String;
begin
s := ss.Socket.ReceiveText;
write(s);
end;

begin
MyType := TMyType.Create;
cs := TClientSocket.Create ( nil );
ss := TServerSocket.Create ( nil );
ss.Port := PORT;
cs.Port := PORT;
cs.Host := "localhost";
ss.Open;
cs.Open;
ss.OnClientRead := MyType;
cs.Socket.SendText("hello");
cs.Free;
ss.Free;
MyType.Free;
readln;
end.

собственно трабла в "ss.OnClientRead := MyType.SSClientWrite;"
как заставить это все работать? %)


Алексей Ким   (2002-09-20 18:48:00) [1]

ну да
(с намеком тоже ;)


Digitman   (2002-09-20 17:53:00) [2]

>Алексей Ким

... и с полным пониманием того, что пишешь)


Алексей Ким   (2002-09-20 17:43:00) [3]

ладна ладна сдаюсь буду писать нормально


Digitman   (2002-09-20 16:16:00) [4]

>Алексей Ким

большая разница.

Процедура становится процедурой лишь после тогог, как она будет скомпилирована и собрана. И лишь после этого только можно (в принципе !) говорить о какой-то там работе чего-то


Алексей Ким   (2002-09-20 16:08:00) [5]

2Digitman>
за замечания спасибо
но я делал это только для теста
пока я не могу скомпилировать
какая разница какое у меня будет
процедура когда сама прога не работает


Digitman   (2002-09-20 13:59:00) [6]


> как заставить это все работать?


О том, как это заставить "работать" и будет ли это работать вообще в соответствии с предполагаемой логикой, пока речи не идет.

Вот "как это все скомпилировать", чтобы потом хоть как-то заработало - это совсем иной вопрос)

Вот на него ответ :

procedure TMyType.SSClientWrite(Sender: TObject; Socket: TCustomWinSocket); // Почему SSClientWrite ?? SSClientRead наверно !! Это же событие готовности к чтению , а не к записи !!
var s: String;
begin
...
end;


Внук   (2002-09-20 13:52:00) [7]

type TMyType = class (TObject)
procedure SSClientWrite (Sender: TObject; Socket: TCustomWinSocket)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо