![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Моя программа долго загружается [D7, WinXP]
Turboon © (2008-07-29 16:48:00)Проблема в том, что между событиями OnCreate и OnShow проходит секунд 10.
Что происходит в этом промежутке, я не знаю.
Подскажите, как можно оптимизировать программу?
Игорь Шевченко (2008-07-29 17:30:00) [21]
> В общем-то проблема больше не актуальна, но если кто-нибудь
> подскажет мне, почему это:
>
> > Ini := TIniFile.Create(FileName);
> > Path := Ini.ReadString('Path','zpath','C:\');
>
> вызывало тормоза, тому большой респект.
Это не может вызывать тормоза
Turboon (2008-07-29 17:26:00) [22]В общем-то проблема больше не актуальна, но если кто-нибудь подскажет мне, почему это:
> Ini := TIniFile.Create(FileName);
> Path := Ini.ReadString('Path','zpath','C:\');
вызывало тормоза, тому большой респект.
Turboon (2008-07-29 17:25:00) [23]
> Верни всё на место :-)
> Отладчик тебе выдаст время выполения процедур, только на
> твой глаз. Профайлер даст рельное время.
Ок, пойду нагуглю себе профайлер :))
Turboon (2008-07-29 17:22:00) [24]
> > Плохиш © (29.07.08 17:04) [4]
> > Открываются все ваши TTable...
>
>
> Скорее:
> Загружаются все ваши TImage...
> :)
:))) Ничего подобного!
> Григорьев Антон © (29.07.08 17:09) [5]
> Ненужные формы из автозагрузки удалены?
Антон, большое спасибо! Удалены, и время загрузки опять 3 секунды! :))
Провел небольшой эксперимент - обнаружил, какой кусок кода (если его можно так назвать :))) ) тормозил. Вот он:
Ini := TIniFile.Create(FileName);
Path := Ini.ReadString('Path','zpath','C:\');
Я его закомментил, и тормоза пропали :))
oldman (2008-07-29 17:21:00) [25]ну...
и код OnCreate в студию
и код Unit1 тоже, пожалуй
oldman (2008-07-29 17:19:00) [26]
> Turboon (29.07.08 17:13) [6]
> 1. Программа не совсем моя, я ее дорабатываю.
читаем сабж:
> Моя программадолго загружается
Врать не надо по телефону! ©
oldman (2008-07-29 17:18:00) [27]
> После некоторой корректировки (добавлена пара компонентов
каких?
tesseract (2008-07-29 17:16:00) [28]
> или сократить задержку.
Верни всё на место :-)
Отладчик тебе выдаст время выполения процедур, только на твой глаз. Профайлер даст рельное время.
Игорь Шевченко (2008-07-29 17:15:00) [29]
> 3. Многовато. Я бы хотел каким-либо образом отобразить ход
> процесса загрузки для пользователя (прогрессбар, например,
> вывести), или сократить задержку.
Splash-форму повесь, как в Delphi и все будет хорошо
oldman (2008-07-29 17:14:00) [30]
> Плохиш © (29.07.08 17:04) [4]
> Открываются все ваши TTable...
Скорее:
Загружаются все ваши TImage...
:)
Turboon (2008-07-29 17:13:00) [31]1. Программа не совсем моя, я ее дорабатываю. После некоторой корректировки (добавлена пара компонентов и пара процедур) время загрузки увеличилось с 3-4 до 10 секунд.
Я ставил MessageBox'ы в конец FormCreate и в начало FormShow. Между их появлениями проходит секунд 8 минимум.
Отладчиком встроенным проверить? Или внешним? И что такое профайер я не знаю :(
2. Нет, программа из нескольких форм. В обработчике OnCreate главной формы вызывается форма авторизации, отрабатывает быстро, но главная форма появляется через 10 сек.
На главной форме лежат панели, TIB - компоненты, TreeList'ы.
3. Многовато. Я бы хотел каким-либо образом отобразить ход процесса загрузки для пользователя (прогрессбар, например, вывести), или сократить задержку.
Григорьев Антон (2008-07-29 17:09:00) [32]Ненужные формы из автозагрузки удалены?
Плохиш (2008-07-29 17:04:00) [33]
> Что происходит в этом промежутке, я не знаю.
Открываются все ваши TTable...
oldman (2008-07-29 16:59:00) [34]
> Что происходит в этом промежутке, я не знаю.
Собственно Create и происходит...
С инициализацией переменных и объектов, их настройкой и т.д.
А что, 10 секунд для старта программы это много?
stas (2008-07-29 16:57:00) [35]Программа из 1-й формы?
Что на ней лежит?
tesseract (2008-07-29 16:51:00) [36]Отладчиком и профайером посмотреть.
> Что происходит в этом промежутке, я не знаю.
Это точно твоя программа ?