Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 18:22   #1
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию Сворачивание приложения и загрузка данных

Мне нужно чтобы при запуске программа сразу свернулась в трей. Использую TCoolTray икон.

Столкнулся с такими глюками, которые не могу исправить:

1. если написать Application.Minimize; в событии OnCreate формы то программа свернется (но не в трей, хотя култрейикон работает нормально в других случаях), но после её "разворачивания" кнопка сворачивания вообще не работает! Пробовал в пустом приложении - тоже самое.

2. объявляю переменную b: boolean = True, в оnPaint пишу:
Код:
if b then
begin
b := false;
Application.Minimize;
end;
Программа в трее. НО когда я её разворачиваю, она появляется с не загруженными данными (она грузит немного текста из файла в onCreate), затем зависает на несколько секунд (при обычной загрузке такова нет) и загружает данные. Эту проблему удалось решить созданием таймера с интервалом 100 и отключением его после минимизации, но возможно, есть более надежное решение?
Armorer вне форума Ответить с цитированием
Старый 24.05.2009, 22:12   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Попробуйте примерно так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.LoadFromFile('E:\Mytext.txt');
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Application.Minimize;
end;
Тут не будет никаких задержек.
mihali4 вне форума Ответить с цитированием
Старый 24.05.2009, 22:33   #3
Vladya
Форумчанин
 
Аватар для Vladya
 
Регистрация: 04.11.2008
Сообщений: 360
По умолчанию

Цитата:
но после её "разворачивания" кнопка сворачивания вообще не работает! Пробовал в пустом приложении - тоже самое.
Кнопочка эта может не работать из за того что Вы наверное не поставили свойство MinimizeToTray в True
Мой скромненький сайт
Vladya вне форума Ответить с цитированием
Старый 25.05.2009, 18:59   #4
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Цитата:
Сообщение от Vladya Посмотреть сообщение
Кнопочка эта может не работать из за того что Вы наверное не поставили свойство MinimizeToTray в True
Я проверял в пустом приложении (создал новое и в onCreate добавил Application.Minimize - то же самое.


Цитата:
Попробуйте примерно так:
Код:


procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.LoadFromFile('E:\Myt ext.txt');
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Application.Minimize;
end;

Тут не будет никаких задержек.
если делать так то ошибка появляется "Cannot change Visible in OnShow or OnHide". В чем тут дело пока не разобрался..
Armorer вне форума Ответить с цитированием
Старый 25.05.2009, 19:14   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Запускайте программу сразу спрятанную.
Код:
Procedure TForm1.FormCreate(Sender: TObject);
Begin
Application.ShowMainForm:=False;
If b=false Then
Begin
b:=True;
CoolTrayIcon1.ShowMainForm;
End;
End;
Там же можете и загружать данные. Для показа/скрытия формы лучше используйте функции CoolTrayIcon1.ShowMainForm; и CoolTrayIcon1.HideMainForm; .
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 25.05.2009, 19:23   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
если делать так то ошибка появляется "Cannot change Visible in OnShow or OnHide". В чем тут дело пока не разобрался..
У меня никаких ошибок...
Уберите обработчики OnShow, OnPaint и прочие.
В конце концов можете создать новый проект и задать только два обработчика, которые я вам привел - все будет тик-так...
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка данных из файла JIK Помощь студентам 4 19.05.2013 12:17
Сворачивание приложения Vladya Общие вопросы Delphi 2 25.04.2009 10:34
Загрузка данных и построение таблицы. Lisichka Microsoft Office Word 12 04.02.2009 15:31
Загрузка данных в Com-порт Pitbull Общие вопросы Delphi 0 22.01.2009 22:20
Загрузка данных AlexMori Общие вопросы Delphi 2 15.11.2007 08:12