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

Вниз

OnMessage   Найти похожие ветки 

 
Redline   (2006-08-06 17:07) [0]

Как быть с Application.OnMessage, если прога типа:
Program

Begin

end.?

если сделать просто процедуру то и присвоить ее к OnMessage компилятор ругается. Или может есть еще какие нибуть способы получать сообщения? (учитавая тип проги)


 
Плохиш ©   (2006-08-06 17:35) [1]

type
 TMyClass = class
 class procedure MyMessage(var Msg: TMsg; var Handled: Boolean);
 end;

implementation

procedure TMyClass.MyMessage(var Msg: TMsg; var Handled: Boolean);
begin
 ShowMessage("Ha-Ha");
 Handled := true;
end;

........

begin
 Application.OnMessage := TMyClass.MyMessage;
end;


 
Eraser ©   (2006-08-06 17:51) [2]

> [0] Redline   (06.08.06 17:07)

а в программе вообще присутствует цикл выборки сообщений?


 
Redline   (2006-08-06 18:17) [3]

Плохиш ©   (06.08.06 17:35) [1]

Выдает ошибку:
[Pascal Error] Project1.dpr(22): E2010 Incompatible types: "TMessageEvent" and "Procedure"

собственно от этого у меня и все проблемы. кстати а где в проге типа Probram Begin end. можно засунуть implementation?


 
Redline   (2006-08-06 18:17) [4]

Eraser ©   (06.08.06 17:51) [2]

Не очень понимаю что это такое


 
Плохиш ©   (2006-08-06 18:39) [5]


> Redline   (06.08.06 18:17) [3]
> Плохиш ©   (06.08.06 17:35) [1]
>
> Выдает ошибку:
> [Pascal Error] Project1.dpr(22): E2010 Incompatible types:
>  "TMessageEvent" and "Procedure"

Думаешь, я слова class procedure просто так написал, для прикола?


 
Плохиш ©   (2006-08-06 18:40) [6]


> кстати а где в проге типа Probram Begin end. можно засунуть
> implementation

Ну убери это слово. Думалка для чего человеку дана?


 
Eraser ©   (2006-08-06 18:54) [7]

> [4] Redline   (06.08.06 18:17)
> Eraser ©   (06.08.06 17:51) [2]
>
> Не очень понимаю что это такое

для начала нужно разобраться что же это такое, советую прочитать двухтомник Тейксейра, Пачеко "Delphi 5. Руководство разработчика". Найти его можно тут http://www.podgoretsky.com/ddp.html


 
Шпиён   (2006-08-06 18:56) [8]


> Redline   (06.08.06 18:17) [4]
> Eraser ©   (06.08.06 17:51) [2]
>
> Не очень понимаю что это такое

Пример:

program Hot1;
uses
 windows,messages;
var
   msg:TMsg;

begin
   if RegisterHotKey(0,1, MOD_ALT+MOD_CONTROL,
       $5A            // virtual-key code  "Z"
       ) then
//Цикл выборки сообщений
       while(GetMessage(Msg,0,0,0)) do
       begin
           TranslateMessage(Msg);
           if Msg.message = WM_HOTKEY then
           if Windows.MessageBox(0,"Ура!","Всплываем...",MB_OKCANCEL+MB_ICONWARNING+MB_SYSTEMMODAL)=IDCANCEL
           then  PostQuitMessage(0);
           DefWindowProc( 0, Msg.Message, Msg.wParam, Msg.lParam ) ;
       end;
end.



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1154956698
Dexter12345
2006-08-07 17:18
2006.09.17
Поиск компонента


6-1138091589
Makhanev
2006-01-24 11:33
2006.09.17
получение MAC адресов сетевых карт в offline


2-1155155300
Rott
2006-08-10 00:28
2006.09.17
Иконка


4-1147969783
Handle
2006-05-18 20:29
2006.09.17
CreateToolHelp32SnapShot


2-1156838861
Postalll
2006-08-29 12:07
2006.09.17
Вызов приложения из командной строки