|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.03.2008, 10:45 | #1 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
Прогрессбар...
Ребят, помогите сделать прогресбар на splash форме, что б он показывал состояние загрузке всех форм. ну Загрузилась еще одна форма и он продвинулся и потом следующая. Когда все формы загрузятся, splashform закрывается и врубаеся главное окно. Вот такой вот пост
Последний раз редактировалось Лёка; 15.03.2008 в 14:20. |
15.03.2008, 10:49 | #2 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 266
|
1. Ставишь на форму ProgressBar. Свойство Min=0, Max=(кол-во форм)
Формы создаются в событии Splash-формы, так? значит, в коде создания, после каждой строчки Form3 := TForm3.Create(Self) пишешь ProgressBar1.Position := ProgressBar1.Position + 1. И после создания последней формы закрываешь сплеш-форму. Всё |
15.03.2008, 10:52 | #3 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Не получится так по той простой причине, что формы не грузятся. Форма в понимании ООП всего лишь указатель на переменную. И как ты думашь, сколько нужно времени чтобы выделить память под новую переменную и присвоить ей значение? Другое дело, если после создания форма запускает на выполение какие-то действия. Но тут тебе никто не даст универсального рецепта.
|
15.03.2008, 11:01 | #4 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 266
|
Да к тому же это надо, если в проекте ~50 форм. А так даже для 10 незаметно
|
15.03.2008, 11:28 | #5 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
Можно примерно так. В файле проекта перед созданием основных форм создать форму-заставку.
Код:
Код:
Последний раз редактировалось Jeni; 15.03.2008 в 11:31. |
15.03.2008, 13:28 | #6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Код:
|
|
15.03.2008, 14:19 | #7 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
mihali4, а из автокреейта форм их надо убрать? в опциях проекта.
|
15.03.2008, 14:27 | #8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Чего в опции-то ходить? Это все делается вручную.
Просто удалите из файла проекта (на примере приведенного мной) все строки между Application.CreateForm(TForm1, Form1); и SplashForm.Free; //Это, если вы использовали заставку Application.Run; Вообще-то, аналогичный вопрос уже обсуждался и ответы на все вопросы были даны и с таймером, и без таймера. Если не поленитесь, найдете и, я думаю, успешно решите проблему с заставкой или без оной... |
15.03.2008, 14:30 | #9 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
спасиб, вашим кодом уже воспользовался.
|
18.03.2010, 11:36 | #10 |
Пользователь
Регистрация: 06.03.2010
Сообщений: 14
|
Прошу помочь.
Делаю splash-screen, столкнулся с такой проблемой, что при запуске программы splash-форма отображается как надо, исчезает вовремя, но при этом не уничтожается из памяти. В смысле, не исчезает с панели задач, и висит там рядом с основной программой. Подскажите, в чем ошибка? Код:
House, progressive house, minimal house listener!
Linux registered user #505538 |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обратный отсчет в прогрессбар | Stanislav | Общие вопросы Delphi | 3 | 09.01.2008 16:49 |