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

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

Вопрос о TThread & TClientSocket [D4, D5, D6, Win95/98, NT4, Win2k]


xmag ©   (2002-01-04 21:41:00) 

Привет всем !
Есть вопросик. Создаю свой класс типа TTheaв например

type
TTestPort = class(TThread)
ClS : TClientSocket;
. . .

Так вот требуеться в потоке поймать событие от компонента TClientSocket OnConnect , OnDisconnect , OnError и т.д.
Очень нужен простой пример.
Заранее благодарен.


Hacker   (2002-01-06 20:59:00) [1]

Все просто - создаешь в своем новом классе TTestPort (а лучше создай потомок от TClientSocket - так потом удобней) процедуры
type
TTestPort = class(TThread)
Private
Procedure MyRead(тут как у обработчика);
Public
ClS : TClientSocket;

Где создаешь объект пишешь - TestPort.ClientSocket.OnRead:=MyRead;

А в MyRead процедуре пишешь нужный тебе обработчик.
Типа, когда произойдет событие - вызовится твоя процедура, там работаешь как будто ты пишешь обработчик.
Фишка в том - что процедура дожна принадлежать объекту.


xmag   (2002-01-05 23:30:00) [2]

Спасибо я понял что надо обнаботать событие :-) но как ? Можно примерчик или я что-то непонимаю ?-)


Hacker   (2002-01-05 14:41:00) [3]

У меня точно такая же задача: TThread & TClientSocket, но заставить создаваться динамически объект там и работать не получается(поток тоже создаю динамически в процедуре). Как что-то получится пришли код на ящик, что-бы я долго не мучался.

А по твоему вопросу: если тебе надо просто обработать событие у динамически создаваемого объекта, то это я обсуждал в основном форуме где-то 03.01.02. А если надо в другом потоке данные оттуда получить, то наверное просто надо создать переменную в первом потоке и ей все скинуть


Наверх

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