Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.09.2012, 19:41
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию АвтоДействие после прорисовки формы

Граждане, вопрос как сразу после открытия программы запустить процесс скачивания файла с progressbar'ом.

План такой:
1) программа открывается (каждое утро)
2) скачивается страница из интернета
3) парсинг актуальной информации.

Сами действия уже сделаны. А как теперь их привязать к открытию формы.
Ответить с цитированием
  #2  
Старый 01.09.2012, 20:35
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Uniq!
Сами действия уже сделаны.
а как ты осилил эти действия если не знаеш ответ на свой вопрос
Ответить с цитированием
  #3  
Старый 01.09.2012, 21:04
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Цитата:
Сообщение от robt
а как ты осилил эти действия если не знаеш ответ на свой вопрос

Бывает и такое. На Form.Show вешать не получается. Ибо форма ещё не отрисована. Получается программа как будто "виснет".
Ответить с цитированием
  #4  
Старый 01.09.2012, 21:18
tigra-nsk tigra-nsk вне форума
Прохожий
 
Регистрация: 25.08.2011
Сообщения: 13
Репутация: 10
По умолчанию

Form1.OnCreate не поможет? или я не понял вопрос?
Ответить с цитированием
  #5  
Старый 01.09.2012, 21:38
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Цитата:
Сообщение от tigra-nsk
Form1.OnCreate не поможет? или я не понял вопрос?

Проблема в том что форма сначала должна появиться на экране, а потом должен запуститься процесс.
Ответить с цитированием
  #6  
Старый 01.09.2012, 22:37
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

OnActivate не поможет случаем?
__________________
Помогаю за Спасибо
Ответить с цитированием
  #7  
Старый 01.09.2012, 23:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Uniq!
Проблема в том что форма сначала должна появиться на экране, а потом должен запуститься процесс.

Ну повесь одноразовый таймер. В чем проблема-то?

Код:
procedure TForm1.FormCreate(Sender : TObject);
begin
  Timer1.Interval := 5000; // Задержка 5 сек
  Timer1.Active := True;
end;

procedure TForm1.Timer1Timer(Sender : TObject);
begin
  Timer1.Active := False;
  // ... здесь вызов твоего кода
end;
Ответить с цитированием
  #8  
Старый 02.09.2012, 08:31
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Uniq!
программа как будто "виснет"
наверное она занята скачиванием файла с интернета) вынеси этот код в отдельный поток. заодно и интерфейс не будет виснуть.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Uniq! (02.09.2012)
  #9  
Старый 02.09.2012, 11:11
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Цитата:
Сообщение от NumLock
вынеси этот код в отдельный поток.
А создание потока привязать на Form.Show? тогда сначала прорисуется форма, а потом выполнется "код" ?
Ответить с цитированием
  #10  
Старый 02.09.2012, 11:17
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

можно и в OnCreate.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #11  
Старый 02.09.2012, 20:07
icsander icsander вне форума
Новичок
 
Регистрация: 17.04.2011
Сообщения: 87
Репутация: 10
По умолчанию

Мне однажды помогло в OnShow для полной отрисовки формы, а потом исполнения остального кода первой строкой - Application.ProcessMessages;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter