Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Вниз

Увеличение скорость открытия программы.   Найти похожие ветки 

 
Merry   (2006-09-28 09:33) [0]

При запуске программы, происходит задержка от 5 до 30 сек (на разных компах по-разному)до момента открытия программы. В момент открытия основной формы все таблицы и запросы закрыты, обращения к ним нет. Вообще, форм, таблиц и запросов в программе много. Таблицы db-формата. (Те программы, где таблиц и запросов меньше открываются за 2 сек). В программе формируются отчёты, выполненные в QReporte. Причём замечено, если используется принтер, подключенный к другому компьютеру, а на этом компьютере принтера нет, то время открытия программы дольше. Может быть тут какая-то связь?


 
Elen ©   (2006-09-28 09:44) [1]


> Merry

Как вариант создавай QReport и формируй отчеты в ДЛЛ или другом приложении. Пусть оно запускается потом (по желанию пользователя)


 
Ketmar ©   (2006-09-28 09:46) [2]

ну глянь ты в исходники QREport"а, и выясни. а лучше -- возьми нечто нормальное, а не это чудо. %-)


 
zdm ©   (2006-09-28 09:46) [3]

в QR врядли проблема. Как вариант пробегись пошагово по проге, и посмотри, точно-ли не происходит коннекта к БД или попытки сформировать отчет до действий юзера


 
zdm ©   (2006-09-28 09:47) [4]

FastReport форева


 
Плохиш ©   (2006-09-28 11:28) [5]


> Merry   (28.09.06 09:33)

Для начала надо убрать все ненужные формы/репорты из автосоздания и создавать их по мере необходимости.


 
Merry   (2006-09-28 21:27) [6]

Спасибо за советы.
Не понятно, что значит:
>Плохиш ©   (28.09.06 11:28) [5] :Для начала надо убрать все ненужные формы/репорты из автосоздания и создавать их по мере необходимости.

Что такое автосоздание? Естественно, каждая форма и любой отчёт формируется только в момент нажатия пользователем определённой клавиши. Формы вызываю Forma1.ShowModal;
Отчёты Qreport1.Preview.
Всё же, я думаю, что дело не в QReporte. И таблицы я открываю не в момент открытия проги, и запросы тоже. Может, недостаточно оперативки свободной или чего-то ещё???


 
Ketmar ©   (2006-09-28 21:30) [7]

"формируется" и "создаётся" -- вещи разные. загляни в .dpr -- там куча создавалок? или создаёшь (Create) формы в рантайме, показываешь, и тут же убиваешь, когда они больше не нужны?


 
Merry   (2006-09-28 21:49) [8]

Нет. Не создаю в реальном времени.
Вызываю Forma1.ShowModal; и закрываю close.


 
Ketmar ©   (2006-09-28 21:50) [9]

тогда создавай. у тебя при старте программы создаётся куча форм и компонентов на них. зачем? память загромождают, а толку -- никакого.


 
Merry   (2006-09-28 21:54) [10]

t.e. вместо Forma1.ShowModal
пишу Forma1.Create.
А как " убиваешь, когда они больше не нужны?"


 
Ketmar ©   (2006-09-28 21:55) [11]

не надо нобум. лучше сначала почитай статейки.


 
RASkov   (2006-09-29 00:51) [12]

В меню Delphi "Project"->"Options" или Shift+Ctrl+F11
Оставляешь в Auto-create только главную форму, остальные в Available forms
Ну и по мере надобности создаешь и вызываешь так
...
if Form1=nil then Form1:=TForm1.Create(Self);
Form1.ShoModal;
Form1.Free;
Form1:=nil;
//или вместо последних двух строк кода можно одну - FreeAndNil(Form1);
....

это для модальных окон, для не модальных можно попробывать так

....
if Form2=nil then Form2:=TForm2.Create(Self);
Form2.Show;
....

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Action:=caFree; Form2:=nil;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.309 c
2-1162125949
Проггер из библиотеки
2006-10-29 15:45
2006.11.12
TMemoryStream и расход памяти


2-1161714140
Батя
2006-10-24 22:22
2006.11.12
как перевести обычнай символ в Unicode


3-1158153248
IronHawk
2006-09-13 17:14
2006.11.12
DataSet & XML


2-1162018542
lobach
2006-10-28 10:55
2006.11.12
Срез длинной строки


15-1161670572
kroner
2006-10-24 10:16
2006.11.12
А Вы в это верите?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский