Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];

Вниз

Вопрос о TThread & TClientSocket   Найти похожие ветки 

 
xmag   (2002-01-04 21:41) [0]

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

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

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


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

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

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


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

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


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

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

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

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



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
1-66865
Vitaliy
2002-03-05 15:58
2002.03.21
Создание нового XML документа


3-66785
bas
2002-02-22 16:26
2002.03.21
Запрсы в


3-66789
ray_wagner
2002-02-22 23:04
2002.03.21
Как инсталлировать BDE если нет ISExpress?


1-66847
maks
2002-03-05 11:27
2002.03.21
gxexplorer


1-66894
Baz
2002-03-05 15:25
2002.03.21
Посылание сообщений





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский