Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

О файле проекта

Delphi , Программа и Интерфейс , Приложение своё

О файле проекта

Известно, что delphi создает множество файлов с расширениями pas, dfm, dpr и т.д. Обычно программиста интересуют файлы кода (pas) и описания форм (dfm), а остальные остаются вне его поля зрения, а зря — они несут важную информацию, которую можно (а в ряде случаев — нужно) изменять.
 
Начнем с файла проекта (dpr). Фактически он содержит собственно программу, в то время как связанные с проектом многочисленные файлы форм и dll представляют собой подпрограммы.
Структура файла проекта, содержащего единственную форму, такова, как показано в листинге 1.
 
Листинг 1
Code:
program project1;
 
uses
forms,
unit1 in 'unit1.pas' {form1};
 
{$r *.res}
 
begin
application.initialize;
application.createform(tform1, form1);
application.run;
end.
 
 
Проект (программа) начинается обращением к методу initialize глобального объекта application и заканчивается после завершения его метода run. Этот метод — центральный: он визуализирует главную форму приложения и осуществляет диспетчеризацию сообщений windows. От того, какая работа выполняется строками кода, расположенными перед обращением к нему, зависят время загрузки приложения, и вид экрана до появления главного окна.
 
Метод initialize предусмотрен, как говорится, на всякий случай и по умолчанию ничего не осуществляет. Чтобы заставить его работать, следует поместить указатель на соответствующую процедуру без параметров в глобальную переменную initproc. Это можно сделать в секции инициализации любого модуля (код этих секций активизируется до начала работы основной программы) или непосредственно в теле главного проекта (листинг 2):
 
Листинг 2
Code:
procedure init;
begin
// Выполняет какую-то работу;
end;
 
begin
initproc := @init;
application.initialize; // Обращение к init
application.createform(tform1, form1);
application.run;
end.
 
 
Разумеется, в этом последнем случае будет проще в первом операторе основной программы явно обратиться к процедуре init. Вообще говоря, в подавляющем большинстве случаев оператор application.initialize можно удалить без каких-либо последствий для программы.
 
Сокращение времени загрузки
В реальном проекте со множеством форм между обращениями к initialize и run обычно расположены многочисленные вызовы метода createform, с помощью которого создаются используемые в проекте формы. Каждый вызов этого метода увеличивает время загрузки приложения. В начальный момент на экране будет видно только одно окно главной формы приложения (оно создается первым обращением к createform), а остальные объекты-окна можно создавать в ходе работы программы перед визуализацией соответствующего окна.
 
По умолчанию в переключателе auto create forms (вызывается с помощью опции project|options среды delphi) на закладке preference окна tools|environment установлен флажок, что заставляет delphi помещать любую новую форму в список auto-create forms и формировать соответствующий оператор обращения к createform в файле проекта. Если очистить этот переключатель перед началом работы над проектом или перенести ненужные формы в список available forms окна project|options, можно существенно (иногда — в десятки раз) сократить время загрузки приложения.
 
Вид экрана до появления главного окна
В приводимом ниже листинге 3 (пример заимствован из справочной системы delphi) в программе создается 5 окон. В форме form5 имеется индикатор progressbar1, с помощью которого визуализируется процесс загрузки программы, точнее — создания остальных окон.
Листинг 3
Code:
begin
with tform5.create(nil) do
   try
     progressbar1.max := 100;
     show; // Показываем форму form5 с индикатором progressbar1
     update; // Прорисовываем форму form5
     application.createform(tform1, form1);
     progressbar1.stepby(25);
     application.createform(tform2, form2);
     progressbar1.stepby(25);
     application.createform(tform3, form3);
     progressbar1.stepby(25);
     application.createform(tform4, form4);
     progressbar1.stepby(25);
   finally
     free; // Разрушаем ненужную форму form5
   end;
application.run;
end.

Источник: http://www.delphi.h5.ru/

 

Статья О файле проекта раздела Программа и Интерфейс Приложение своё может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Приложение своё ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-04-24 22:55:34
2024-04-25 01:59:43/0.0072369575500488/2