Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
ВнизДоооолгий Form.Showmodal? Найти похожие ветки
← →
Vasilii (2002-05-14 14:53) [0]Всем Здраствуйте! Столкнулся с такой проблемой: при первичном открытии модальной формы (на каждый вызов форма create’ится, на close, соответственно, Form.Release) очень долго (~12 сек) выполняется Form.Showmodal. При последующих вызовах формы открытие происходит гораздо быстрее (~1.5 сек). Почему? Как решить проблему первого открытия формы?
← →
Johnmen (2002-05-14 15:11) [1]1. Form.Release - это к чему ???!!!
2. Видимо в OnCreate или OnShow прописано что-то долгое и нудное... :-)))
← →
Виктор Щербаков (2002-05-14 15:13) [2]А ты отладчиком её, отладчиком!
Может найдешь то, что так долго выполняется и нам расскажешь. Интересно же.
← →
Vasilii (2002-05-14 15:37) [3]>Johnmen В порядке выполнения в программе:
Create > OnCreate - быстро
\/
Showmodal - очень медленно
\/
OnShow - быстро.
← →
Johnmen (2002-05-14 15:59) [4]1. все-таки Release-то убери...
2. а в OnActivate ?
← →
Vasilii (2002-05-15 09:32) [5]>Johnmen
1. Из хэлпа:"Use Release to destroy the form and free its associated memory." Я же говорил, что форма каждый раз создается заново.
2. Пусто.
← →
koks (2002-05-15 09:44) [6]А что у тебя за форма - в смысле что не ней...
← →
Vasilii (2002-05-15 10:12) [7]Много чего: Гриды, кнопки, панели.
← →
Дмитрий757567 (2002-05-15 10:25) [8]>Vasilii
А к гриду приклеен TQuery, который выполняет офигенный запрос к базе данных?
← →
Vasilii (2002-05-15 13:17) [9]TQuery.Open происходит на TForm.FormShow, а торможение раньше, между TForm.FormCreate и TForm.FormShow.
← →
Виктор Щербаков (2002-05-15 13:24) [10]to Vasilii ©
Есть замечательная кнопка F7. Она тебе поможет. Конечно это займет некоторое время, но ИМХО лучше чем гадать (и тебе и нам).
← →
Vasilii (2002-05-15 13:44) [11]>Виктор Щербаков
F7 уводит в такие дебри. Ладно бы я ошибку искал, так ведь ищу задержку по времени, а считать в каком случае все циклы пробегают быстрее или медленнее по моему не реально. Но главное не могу понять: почему второй и последующие разы - быстро?! Может что-то куда-то кешируется?
← →
Виктор Щербаков (2002-05-15 13:47) [12]Vasilii © (15.05.02 13:44)
> F7 уводит в такие дебри
А ты не лезь в дебри.
Ведь F8 еще есть :)
Используя комбинацию F7 и F8 можно найти долговыполняющуюся строчку.
← →
Vasilii (2002-05-15 14:12) [13]А почему только в первый раз медленно?
← →
Кулюкин Олег (2002-05-15 14:21) [14]2 Vasilii © (15.05.02 14:12)
Скорее всего, дело именно в запросе который выполняется при открытии формы.
А последующие открытия формы не тормозят благодаря кешированию.
← →
Vasilii (2002-05-15 14:54) [15]Повторяюсь: На момент торможения запрос не выполняется. Форма КАЖДЫЙ раз создается заново. Все DataSet"ы переоткрываются (все запросы "перезапрашиваются").
← →
Игорь Шевченко (2002-05-15 15:11) [16]Существует кэш у сервера, благодаря ему последующие запросы могут выполняться быстрее.
С уважением,
← →
Vasilii (2002-05-15 15:19) [17]>Игорь Шевченко А в случае постоянного изменения данных?
← →
Игорь Шевченко (2002-05-15 15:22) [18]И в случае постоянного изменения данных тоже :-)
Скорость обработки запроса, в основном, определяется сервером.
Впрочем, смотря какой запрос и какой сервер...
С уважением,
← →
Кулюкин Олег (2002-05-15 16:43) [19]2 Vasilii
Проведем эксперимент.
Закомментарьте открытие датасета, и посмотрите, останутся ли тормоза.
Если да, то см. Виктор Щербаков © (15.05.02 13:24) (про F7)
← →
Vasilii (2002-05-16 11:30) [20]Закоментил - остались. Буду мучить F7.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c