Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузчик приложения 
V
    Опции темы
GuManOiD
Дата 11.11.2006, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 12.9.2005

Репутация: нет
Всего: нет



Задача такова, в уже написанном приложении слишком много операций по инициализации и настройке приложения приходится выполнять при его запуске до показа главной формы приложения.
Вот написал поток-загрузчик который на Execute создает форму с ProgressBar и после выполняет все процедуры загрузки а ProgressBar соответственно должен показывать процесс загрузки. Все процедуры примерно одинаковы по времени выполнения. 

Однако в вариант в котором я буду после каждой выполненной процедуры увеличивать позицию ProgressBar-а мне кажется не самым 
оптимальным.

Т.е.:
Код

procedure TLoaderThread.Execute;
begin
//Create And Open Form+ProgressBar
DoSmth1;
Position := Position + 1;
DoSmth2;
Position := Position + 1;
....
DoSmthN;
Position := Position + 1;
Close; //all done open form
end;


Надеюсь логика понятна. Нельзя ли сделать это более рационально?
PM MAIL   Вверх
Guedda
Дата 11.11.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Да вроде как и этот метод оптимален... Я, допустим, так делаю... Только создаю Splash форму, в которой есть прогресс, и из потока добавляю позиция+1.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
GuManOiD
Дата 11.11.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 12.9.2005

Репутация: нет
Всего: нет



Да все бы хорошо... ну как это... я вначале на VCPP начинал и справлялся списком функций. Т.е. обход инициализирующих функций циклом.
Просто этот способ в Delphi я так понял реализовать не возможно. Или возможно? Создать что то вроде массива чтоли с указателями на функции.
Все функции без параметров. Буду благодарен за малюсенький кусочек кода если это возможно. smile

Добавлено @ 11:29 
Вопрос в догонку
Код

type
  TProc = procedure;
  PProc = ^TProc;
  TProcArray = array of PProc;


Это будет работать?

Добавлено @ 11:32 
Или после 
Код

TProc = procedure;

Тип TProc и будет обозначать указатель на процедуру? smile

Добавлено @ 11:36 
Цитата(Guedda @  11.11.2006,  11:16 Найти цитируемый пост)
Только создаю Splash форму


Ой, а че это? smile

Это сообщение отредактировал(а) GuManOiD - 11.11.2006, 11:29
PM MAIL   Вверх
GuManOiD
Дата 11.11.2006, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 12.9.2005

Репутация: нет
Всего: нет



Вопрос решен. 
Создал класс TProcedureList (TList);
Добавил необходимые процедуры.
И циклом прохожу по всем процедурам.

Довольно гибко и рационально я считаю.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.