Вниз
Скачать: CL | DM;

Проблема с созданием компонента!   Найти похожие ветки 

 
Gennadiy ©   (2005-03-25 14:53) [0]

Добрый день!
У меня такая проблема я на основе демонстрационного исходника по сканированию пытаюсь создат компонент для сканирования, так вот в исходнике есть такая процедура
procedure TForm1.MyMsg(var Msg: TMsg; var Handled: Boolean);
begin
 Handled := ProcessSourceMessage(Msg);
end;
и она вызывается при открытии формы во так:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnMessage := MyMsg;
end;

а проблема в том когда я переношу вот эту строку    Application.OnMessage := MyMsg;
он ругается что Application не найден что в общем логично потому что компонент не является Application, и у меня вопрос как не использовать Application, но чтобы было такой же по смыслу код??


 
Плохиш ©   (2005-03-25 15:08) [1]


>и она вызывается при открытии формы во так:
>procedure TForm1.FormCreate(Sender: TObject);
>begin
> Application.OnMessage := MyMsg;
>end;

Она здесь не вызывается, а присваивается как обработчик события OnMessage.

А из твоего вопросо непонятно, что ты хочешь сделать.

Хотя :-) может быть достаточно присвоить эту функцию OnMessage экземпляру твоей компоненты.


 
Gennadiy ©   (2005-03-25 15:10) [2]

ПРисвоить я не знаю как потому что Родителський компонент является TWinControl, а у него нету функции OnMessage


 
Юрий Зотов ©   (2005-03-25 15:19) [3]

> Gennadiy

Добавьте в uses модуль Forms - появится Application. Но в данном случае это плохой способ, потому что пользователь Вашего компонента запросто может назначить свой собственный обработчик события Application.OnMessage и компонент работать перестанет.

Зато компонент может поставить локальный хук и таким образом перехватить любые сообщения.


 
Плохиш ©   (2005-03-25 15:20) [4]

В примере из [0] описано создание своей функции обработки сообщений и использование её в программе. Что тебе нужно, известно только тебе, а телепаты все в отпуске.


 
Плохиш ©   (2005-03-25 15:22) [5]


>Юрий Зотов ©   (25.03.05 15:19) [3]

Не все в отпуске :-)



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

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



Память: 0.46 MB
Время: 0.024 c
4-1127021685
Igi
2005-09-18 09:34
2005.11.20
Отловить создание главного окна


9-1120581169
Green_Templar
2005-07-05 20:32
2005.11.20
пересечение отрезка и прямоугольника


1-1130394716
DEMs
2005-10-27 10:31
2005.11.20
Выгрузка в Excel memo полей


6-1123247910
debuger
2005-08-05 17:18
2005.11.20
Использование подключения


2-1131170308
balepa
2005-11-05 08:58
2005.11.20
Как прочитать *.bin




   Наверх