Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск в свернутом виде [D5, Win95/98]


ilg ©   (2002-08-06 02:23:00) 

Как сделать, чтобы программа запускалась свернутой в Tray, т. е. главная форма не появлялась при запуске?
Подобные вопросы не раз обсуждались... Я перепробовал несколько способов, но главная форма все-равно показывается.
Пробовал: Application.ShowMainForm:=false;- не помогает...
А в другой программе - работает безотказно. В чем дело? Из-за чего это может быть? Может быть кто-то встречался с подобным? Выручайте!!!
Заранее, большое спасибо!


Bass   (2002-08-06 13:35:00) [1]



begin
Application.Initialize;
Application.ShowMainForm:=False;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caNone;
Form1.Hide;
end;

begin
ShowWindow(Application.Handle, SW_HIDE);
end.


ilg   (2002-08-06 12:30:00) [2]

Всем Огромное спасибо!!!
Ну, вроде как сделал то, что хотел...
Только вот интересный глюк получается:
Если просто писать Application.ShowMainForm:=false;, то не работает, а если при этом в процессе разработкизадать у формы Visible=false, то всё Ok. Теперь, если нужно, чтобы форма показалась - в OnCreate пишем Visible:=true...

А если наоборот сделать: при разработке Visible=true, а в OnCreate Visible:=false, то не работает (форма покажется).:-(


Song   (2002-08-06 08:35:00) [3]

Определённо где-то форма у Вас показывается. У меня такое было при обработке TStringGrid.onDrawCell когда перед прорисовкой таблицы прога у меня минимизировалась.


nick_sniper   (2002-08-06 04:51:00) [4]

Вот так должно работать:
Application.Initialize;
Application.Title := "???";
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm:=false;
Application.Run;


Если нет - то возможно на форме лежит компонет, который манипулирует со свойством Visible. Т.е. форма становится видимой только в одном случае, если Visible:=true;


Rasa   (2002-08-06 02:52:00) [5]

Ну, я могу посоветовать тебе воспользоваться компонентами типа CoolTrayIcon - там это настроить мона. Просто ковырни исходник - найдешь...
Ну если ниче не помогло - то создавай ярлык, меняй запуск Минимизированным и вперед (Шучу)


Poirot   (2002-08-06 02:50:00) [6]

Таки в другой проге и посмотри... найди семь отличий.... проблем может быть даже в порядке выполнения или VCL


Наверх

Титульная страница Поиск, карта сайта Написать письмо