![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование невизуальных компонентов без формы [D7, WinXP]
Дмитрий_05 © (2005-11-20 21:09:00)У меня программа без формы, я бы в ней хотел использовать невизуальный компонент TcpServer, возможно ли это? Делаю я так:
var
TcpServer1: TTcpServer;
TcpServer1 := TTcpServer.Create(...);
а вот что в скобочках написать не знаю, пишу "Application", ругается, на "Self" тоже ругается... а как еще обрабатывать события этого компонента в таком случае?
Джо (2005-11-20 22:06:00) [21]
> [5] Дмитрий_05 (20.11.05 21:59)
Ох, тяжело вам будет, не издеваюсь - констатирую. Все же нужно книгу почитать, что ли.
В данном случае требуется присвоить свойству обработчик события. Обработчик должен быть методом объекта с соответствующим списком параметров. Т.е, нужно описать класс, одним из методов которого будет
TMyClass = class
private
procedure OnAcceptEvent (Sender: TObject; ClientSocket: TCustomIpClient);
end;
...
procedure TMyClass.OnAcceptEvent (Sender: TObject; ClientSocket: TCustomIpClient);
begin
////
end;
И присваивать свойству ссылку на метод объекта этого класса.
Дмитрий_05 (2005-11-20 21:59:00) [22]"Sender: TObject; ClientSocket: TCustomIpClient" в скобках, но опядь же, на Sender ругается, а "ClientSocket: TCustomIpClient" как с ним быть? просто такую переменную в "var" объявить?
Джо (2005-11-20 21:55:00) [23]
> // что здесь в скобках написать?
А что в Справке рекоммендуют?
Дмитрий_05 (2005-11-20 21:46:00) [24]спасибо за совет, обязательно почитаю... но еще один маленький вопросик...
пишу:
var
TcpServer1: TTcpServer;
procedure TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
...
end;
procedure ...
begin
TcpServer1 := TTcpServer.Create(nil);
TcpServer1.OnAccept := TcpServer1Accept(....); // что здесь в скобках написать?
end;
что там в скобках написать? помоги пожалуйста
palva (2005-11-20 21:39:00) [25]А сообщения от сервера кто будет обрабатывать? Для того здесь и нужна форма, чтобы следить за возникающими в сервере событиями. Либо надо писать какой-то свой объект, имеющий бесконечный цикл обработки сообщений. Вот имя этого объекта и надо подставлять в конструктор. А будет ли все это работать, если ваш объект не порожден от TForm? А можно ли создать такой объект, если отсутствует Application - большой вопрос. А просто создать объект Server, наверно, не трудно.
Sergey Masloff (2005-11-20 21:18:00) [26]nil напиши.
Только не забудь потом сам замочить свой объект.
А вообще достали - этот вопрос на всех форумах раз в 10 дней точно задается.
И если тебе приходит в голову мысль писать там Self или тем более Application то советую уделить пару месяцев прочтению хоть какой-нибудь нормальной книжки.