![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как создать приложение без формы? [D6]
Novichek © (2002-11-16 13:54:00)Подскажите как создать приложение без формы?
Юрий Зотов (2002-11-19 14:15:00) [1]Посмотрите описание RegisterHotKey. Если нет ни одного окна, то куда система будет посылать сообщение? Некуда.
Но задача решается. Можно установить глобальный клавиатурный хук, который при отлове нужной комбинации клавиш будет посылать сообщение Вашей программе через PostThreadMessage.
Novichek (2002-11-19 14:08:00) [2]>Юрий Зотов © (16.11.02 18:26)
так что, получается что в без оконном приложении я не смогу установить горячие клавиши? а почему?
Игорь Шевченко (2002-11-18 12:28:00) [3]LongIsland © (16.11.02 18:28)
45 типов объектов имеют Handle в виндах :-)
LongIsland (2002-11-16 18:28:00) [4]
> Novichek © (16.11.02 18:24)
Кхе... А что в Виндах имеет хендл?
Юрий Зотов (2002-11-16 18:26:00) [5]Вспоминается, как старик Хоттабыч приказал моторам не шуметь. А они взяли, да и остановились. Ну не могут они работать без шума, да и все тут.
Вы хотели программу без окон? Ее и получили. Чему же удивляться?
Novichek (2002-11-16 18:24:00) [6]а если конкретнее то в строчке:
RegisterHotKey(Handle,id3,mod_CONTROL,81);
компилятор перестал обрабатывать "Handle", что делать? Он пишет что это не задекларированная переменная, хотя в нормальной программе (с формой) все было отлично.
Novichek (2002-11-16 17:58:00) [7]что то не совсем получается. вроде все правильно, а горячие комбинации клавиш перестали срабатывать.
LongIsland (2002-11-16 17:27:00) [8]
> Novichek © (16.11.02 17:19)
А куда больше-то???
Novichek (2002-11-16 17:19:00) [9]кроме варианта Юрий Зотов © (16.11.02 14:06)больше никаких мнений на этот счет нету?
evgeg (2002-11-16 17:10:00) [10]> очевидно, с невидимым окном Application путает
Все равно не соответсвует действительности.
Юрий Зотов (2002-11-16 16:15:00) [11]> MBo
И я так подумал. Но ведь путает же, вот что плохо. А заодно и других тоже путает, что еще хуже.
MBo (2002-11-16 16:13:00) [12]>Юрий Зотов
очевидно, с невидимым окном Application путает
Юрий Зотов (2002-11-16 16:03:00) [13]> Infinity © (16.11.02 15:50)
"У каждого приложения есть форма" - это что-то для меня новое. Не могли бы Вы пояснить поподробнее? А заодно и этот странный для меня термин - "невидимая форма проекта".
Infinity (2002-11-16 15:50:00) [14]:)) Хе , а без формы никак не получится, это архитектура Windows. У каждого приложения есть форма, хот и не в полном смысле этого слова. Форма у проект (я не имею ввиду форму на которой можно рисовать котролы). Когда мы создаём приложение мы её не видим.
Короче если хочешь создать приложение без формы, то удали все формы из приложения, и пиши в главном Unit"е проекта, ну или вызывай от туда свои классы. Только в uses не забудь добавить то что тебе надо. Но вообще лучше не пиши код в этом юните, а вызывай классы.
Vovchik_A (2002-11-16 15:17:00) [15]Ну тогда пусть скажет точнее чего хочет
MBo (2002-11-16 15:14:00) [16]>Novichek
ну ты хоть прочитай ответ в 14:06
Novichek (2002-11-16 15:07:00) [17]не консольное, просто без формы.
моя программа форму не использует вообще как таковую, можно конечно тупо давать команду на скрытие пустой формы с экрана (с глаз долой, из сердца вон. :)))), но я где то слышал что можно писать как-то приложение уже не использующее форму, но как это делается не помню.
Юрий Зотов (2002-11-16 14:32:00) [18]> Vovchik_A (16.11.02 14:20)
1. А чем это отличается от New | Console Application ?
2. А если консоль тоже не нужна?
Vovchik_A (2002-11-16 14:20:00) [19]program FileCopy;
{$APPTYPE CONSOLE}
Uses Classes,SysUtils,FileCtrl,FileUtil,IniFiles;
Дальше пишешь то, что твоя прога делать должна
Юрий Зотов (2002-11-16 14:06:00) [20]Если консольное - то New | Console Application.
Если вообще невидимое, то поудалять из проекта все юниты, (Project | Remove from project), потом открыть DPR (Project | View source) и ручками привести его к виду:
program Project1;
begin
end.
После этого остается сущий пустяк - написать нужный код. :о)