Главная страница
    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.038 c
1-1159719430
Master_
2006-10-01 20:17
2006.11.12
EXCEL документ в DLL ?


1-1159518252
kyn66
2006-09-29 12:24
2006.11.12
Удалить строку из ListBox по условию


15-1161887041
ProgRAMmer Dimonych
2006-10-26 22:24
2006.11.12
Delphi взглючнуть решил


2-1161929161
Mishenka
2006-10-27 10:06
2006.11.12
Как в ячейке таблицы указать горизонтальное выравнивание?


2-1161784739
remlin
2006-10-25 17:58
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский