Вниз
Скачать: 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.013 c
3-71511
DelphiNew
2003-09-02 09:50
2003.09.22
Sql запрос


14-71924
ZeroDivide
2003-09-01 15:22
2003.09.22
Выборы в России. За кого голосовать?


14-71888
panov
2003-09-02 20:09
2003.09.22
Всё глючит...я уже сам глючу... Пофлудим?


3-71546
Hooch
2003-08-29 13:59
2003.09.22
TAdoDataSet


14-71873
bl_wizard
2003-09-02 18:54
2003.09.22
Примерная стоимость разработки БД




   Наверх