Форум: "Сети";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
ВнизTServerSocket в консольном приложении Найти похожие ветки
← →
Junior (2004-08-13 22:31) [0]Привет всем! Помогите начинающему Дельфину. Я подозреваю, что надо было вопрос задать в другом форуме ибо проблема , наверное не в 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.
← →
AndersoNRules (2004-08-13 22:59) [1]a ti dobavi svoemu skr "of object";
as: procedure ... of object;
← →
AndersoNRules (2004-08-13 23:00) [2]togda oshibka budet v 19-i stroke
← →
Григорьев Антон © (2004-08-16 10:28) [3]Чтобы это всё работало, нужно ещё добавить петлю сообщений (цикл с GetMessage/DispatchMessage), которого в консольных приложениях по умолчанию нет. События TServerSocket"а передаются через оконные сообщения, и если программа их не обрабатывает, то и событий не будет.
← →
Digitman © (2004-08-16 10:47) [4]
> Григорьев Антон © (16.08.04 10:28) [3]
у него - stThreadBlocking
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.052 c