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

Вниз

получение сообщений в консольном приложении   Найти похожие ветки 

 
DillerXX ©   (2005-11-17 21:51) [0]

Как получать сообщения в консольном приложении, я опять же всё забыл, где здесь сделать объявление процедуры, чтобы можно было включить директиву message?


 
DillerXX ©   (2005-11-17 21:55) [1]

Решил проблему созданием нового юнита.. опять же сорри


 
DillerXX ©   (2005-11-18 12:54) [2]

нет, я перепутал, ничего я не решил...

unit Unit1;
interface
uses Windows, Messages;

procedure WndProc(var Msg: TMessage); message WM_DISPLAYCHANGE;

implementation

procedure WndProc(var Msg: TMessage);
begin
 writeln("Message!");
end;

end.

Ругается на message "[Error] Unit1.pas(5): Unknown directive: "message"". Помогите...


 
Digitman ©   (2005-11-18 13:19) [3]

книжки бы умные тебе почитать, барин .. по ООП в Делфи ..


 
DillerXX ©   (2005-11-18 13:35) [4]

А что, неужели без создания нового type нельзя ловить сообщения?


 
Leonid Troyanovsky ©   (2005-11-18 13:41) [5]


> DillerXX ©   (18.11.05 12:54) [2]
> нет, я перепутал, ничего я не решил...


Сделай вторичный поток, а в нем окно (но, лучше невидимое).
Только учти, что синхронизировать с первичным надо  в том числе
и вывод в консоль, скажем через критическую секцию.

Пример невидимого окна во вторичном потоке:

http://rsdn.ru/?Forum/?mid=883505

--
Regards, LVT.


 
Digitman ©   (2005-11-18 13:44) [6]


> неужели без создания нового type нельзя ловить сообщения?


можно.

но к декларации дельфийских классов это отношения не имеет - консольные приложения прекрасно живут и работают и безо всяких ООП-премудростей

касаемо же директивы message в справке черным по белому сказано :

A message method is created by including the message directive in a method declaration

у тебя ГДЕ декларация метода ? ГДЕ декларация класса, в котором этот метод объявлен ?

нет у тебя никаких классов в твоем коде) ... ну так а что же ты тогда хочешь ? компилятор  поэтому и дает тебе отлуп) .. и поделом ..


 
Digitman ©   (2005-11-18 13:54) [7]


> Leonid Troyanovsky ©   (18.11.05 13:41) [5]


доп.поток вовсе не обязален ... "умелые руки" с леккостью приспособят ReadConsoleInput() вместо блокирующего Read[Ln], из-за которого, собссно, и возникает сиюминутная идея вынести "оконные дела" в доп.поток


 
Leonid Troyanovsky ©   (2005-11-18 14:05) [8]


> Digitman ©   (18.11.05 13:54) [7]

> доп.поток вовсе не обязален ... "умелые руки" с леккостью
> приспособят ReadConsoleInput() вместо блокирующего Read[Ln],
>  из-за которого, собссно, и возникает сиюминутная идея вынести
> "оконные дела" в доп.поток


У меня, глядя на такие гибриды, всплывает лишь одна (вечная) мысль:
каждому - свое. Т.е., разлить лучше в разные флаконы.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2005-11-18 14:05) [9]


> Digitman ©   (18.11.05 13:54) [7]

> доп.поток вовсе не обязален ... "умелые руки" с леккостью
> приспособят ReadConsoleInput() вместо блокирующего Read[Ln],
>  из-за которого, собссно, и возникает сиюминутная идея вынести
> "оконные дела" в доп.поток


У меня, глядя на такие гибриды, всплывает лишь одна (вечная) мысль:
каждому - свое. Т.е., разлить лучше в разные флаконы (приложения).

--
Regards, LVT.



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

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

Наверх




Память: 0.49 MB
Время: 0.054 c
4-1128426111
Roughneck
2005-10-04 15:41
2005.12.04
Как получить Handle первичного потока зная только ID процесса


2-1132166129
Vladik
2005-11-16 21:35
2005.12.04
kill thread


2-1132392648
CMOS
2005-11-19 12:30
2005.12.04
Не получается правилно удалить объект


2-1131568136
serko
2005-11-09 23:28
2005.12.04
Расшаривание папки!


14-1131950684
DelphiN!
2005-11-14 09:44
2005.12.04
Компонент для записи изображения с Web камеры