Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.051 c
2-1156900418
SerJaNT
2006-08-30 05:13
2006.09.17
TImage и большие файлы


3-1152867964
RitD
2006-07-14 13:06
2006.09.17
Quick Report 3 - создание отчета с 2 колонками


15-1156137693
Ega23
2006-08-21 09:21
2006.09.17
С Днём рождения! 19 - 21 августа


15-1156150371
Pazitron_Brain
2006-08-21 12:52
2006.09.17
Как придеать спутниковую тарелку?


15-1156609792
Evgheni86
2006-08-26 20:29
2006.09.17
Исходники от Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский