Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
3-71509
Eagle Owl
2003-08-30 00:28
2003.09.22
Добавление поля к таблице


3-71526
grusty
2003-08-31 15:20
2003.09.22
Locate в ADO...


3-71543
analyser
2003-08-28 10:25
2003.09.22
ADOConnection и UDL - ошибка открытия, если сначала прочитать...


1-71606
AndreyAs
2003-09-11 15:16
2003.09.22
некорректная работа PopupMenu в трее


4-71996
bloodman
2003-07-19 03:13
2003.09.22
Hook + Dll




   Наверх