Главная страница
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.015 c
3-71479
Andrey V.
2003-09-02 09:23
2003.09.22
Может ли такое быть ???


14-71934
MBo
2003-09-02 16:27
2003.09.22
Не для слабонервных.


7-71984
MakNik
2003-07-09 12:38
2003.09.22
аналог Process32First для NT 4


1-71713
GEN
2003-09-10 17:47
2003.09.22
Компонент в вмде стрелочного прибора


1-71687
pashtet
2003-09-10 10:39
2003.09.22
Как защитить свой продукт от пиратства?