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

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

TServerSocket в консольном приложении [D7]


Junior ©   (2004-08-13 22:31:00) 

Привет всем! Помогите начинающему Дельфину. Я подозреваю, что надо было вопрос задать в другом форуме ибо проблема , наверное не в TServerSocket , а в моем недостаточном понимании VCL. И все же : как в консольном приложении динамически связать событие с процедурой, в которой оно будет обрабатываться. Спасибо.

program ssk;
uses
ScktComp;
const
ivs_port = 12044;
type
skr = procedure(Sender: TObject; Socket: TCustomWinSocket);
var
sskt           : TServerSocket;
__ss           : skr;

{$R *.res}
procedure ssClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
end;

procedure _init;
begin
 __ss              := ssClientRead;
 sskt              := TServerSocket.Create(nil);
 sskt.Port         := ivs_port;
 sskt.ServerType   := stThreadBlocking;
 sskt.OnClientRead := __ss;      // Çäåñü îøèáêà    [Error] ssk.dpr(23): Incompatible types: 'method pointer and regular procedure'

 sskt.Open();
end;

procedure _fin;
begin
sskt.Close();
sskt.Free();
end;

begin
_init();
_fin();
end.


Digitman   (2004-08-16 10:47:00) [1]


> Григорьев Антон ©   (16.08.04 10:28) [3]


у него - stThreadBlocking


Григорьев Антон   (2004-08-16 10:28:00) [2]

Чтобы это всё работало, нужно ещё добавить петлю сообщений (цикл с GetMessage/DispatchMessage), которого в консольных приложениях по умолчанию нет. События TServerSocket'а передаются через оконные сообщения, и если программа их не обрабатывает, то и событий не будет.


AndersoNRules   (2004-08-13 23:00:00) [3]

togda oshibka budet v 19-i stroke


AndersoNRules   (2004-08-13 22:59:00) [4]

a ti dobavi svoemu skr "of object";
as: procedure ... of object;


Наверх

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