Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

компонент не на форме   Найти похожие ветки 

 
Olexander   (2003-09-09 21:55) [0]

Привет!

Чайниковский вопрос
Хочу поместить компонент (Aync Pro) не на форме - а включить его в поток.
обявляю
type
TRWthread = class(TThread)
apd1 : TApdComPort;
...

вопрос - как мне определить обработчики его событий ??
если нету Object Inspectora ??

спасибо


 
HolACost! ©   (2003-09-09 22:02) [1]

Присвоить - в классе делаешь метод с такимже надором параметров и при присваиваешь его (меод) событию
apd1.OnLamerEnter := TRWthread.EtotSamiyObrabotchikSobitia // Метод класса TRWthread


 
Guerrillero ©   (2003-09-09 22:03) [2]

Объявляешь процедуру с теми же параметрами, что и событие.
А дальше Apd1.OnMessagу := OnMyMessage;
Только процедура обязательно должна быть с теми же параметрами и быть методом класса !


 
Olexander   (2003-09-10 01:16) [3]

Параметры такие:
ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);

обявляю:
type
TRWthread = class(TThread)
apd1 : TApdComPort;
procedure ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);


присаиваю:
constructor TRWthread.create(createsuspended:boolean);
begin
inherited create(createsuspended);
apd1 := TApdComport.Create(nil);
apd1.OnTriggerAvail := TRWthread.ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);
end;


в СР можно передать нил, а где взять TriggerHandle ??


 
KSergey ©   (2003-09-10 08:29) [4]

http://www.delphikingdom.com/helloworld/runtime_comp.htm


 
Reindeer Moss Eater ©   (2003-09-10 08:41) [5]

TapdComPort неудобно использовать во вторичных потоках


 
Olexander   (2003-09-10 12:24) [6]

А чем неудобно ??
Нормально ли будет писать из вторичного - читать (из порта) - в основном ??

Какие еще варианты ?

Спасибо


 
Reindeer Moss Eater ©   (2003-09-10 12:33) [7]

Я сказал неудобно, а не невозможно.

Если писать код, событийно ориентированный, то вторичный поток становится ненужен.
Кроме того, поток, создавший вторичный поток в котором создан ApdComPort обязан обрабатывать сообщения. Это значит, что в нем нельзя вызывать функции синхронизации (WaitFor....Object).
Отсюда вытекает необходимость писать в вызывающем потоке цикл ожидания с обработкой сообщений поступающих из потока в котором работает ApdComPort.



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

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
1-71708
AndyGee
2003-09-10 19:52
2003.09.22
Запуск внешнего приложения от имени другого пользователя


1-71679
vladraven
2003-09-11 17:17
2003.09.22
Исходники, ограничивающие срок работы программы.


14-71935
Basja
2003-09-02 15:16
2003.09.22
Тест кончился. про FTP клиенты


14-71893
freeman2003
2003-09-03 16:30
2003.09.22
Не выполняется хранимая процедура на SQL server из delphi


3-71494
Berezne
2003-09-01 13:09
2003.09.22
Возможно ли добавить поле к таблице