
Программа
Конечной целью программиста, работающего в Delphi, является создание программы - исполняемого файла, который может загружаться и выполняться под управлением 32-разрядной версии Windows. В этой главе рассматриваются вопросы, относящиеся к программе в целом. В ней, в частности, описываются многочисленные вспомогательные файлы, связанные с программой, доступные программе глобальные объекты, ее динамическая настройка с помощью файлов инициализации и/или системного реестра. В конце главы приводятся некоторые сведения о 32-разрядной версии Windows и механизмах взаимодействия программы с этой операционной системой.
Программные файлы
Delphi создает множество файлов, связанных с одной программой1. Перед тем как начать их рассмотрение, хочу порекомендовать следовать золотому правилу: для каждого проекта выделять отдельную папку и хранить в ней все относящиеся к проекту файлы; это значительно упростит перенос проекта в другую папку, например, на гибкий диск и затем с него на другую машину.
Файл проекта
Файл проекта имеет расширение DPR. Обычно он не виден в окне кода - чтобы его увидеть, следует воспользоваться командой Project ► View source среды Delphi. Если закрыть файл проекта с помощью команды File ► Close или клавиш Alt+F4, вместе с ним закроются и все остальные формы проекта. Чтобы этого не произошло, используйте клавиши Ctrl+F4 или команду Close Page контекстного меню файла проекта.
Файл проекта содержит код главной программы, с помощью которого создается объект главной формы программы и, возможно, объекты некоторых других форм, а также обеспечивается связь программы с ядром Windows. Ниже показан типичный пример файла проекта, содержащего единственное окно формы.
Зарезервированное слово program открывает файл проекта; оно может встретиться в программе лишь один раз.
В предложении uses перечисляются все (или лишь некоторые) связанные с проектом формы. Помимо стандартного модуля Forms, необходимого для создания главного окна программы, в нем указывается также модуль Unitl, связанный собственно с главным окном. Обратите внимание на использование зарезервированного слова in для указания файла с текстом модуля ('Unitl. pas') и комментария ({Forml}), который именует объект-окно, создаваемый модулем Unitl. Такого рода объявления Delphi автоматически создает для каждого включенного в проект модуля. Только перечисленные в этом предложении модули Delphi считает входящими в проект, и их алфавитный список появляется при выборе команды View ► Units; а при выборе команды View ► Forms отображается список всех перечисленных в комментариях объектов.
Следует учесть, что если вы хотите перенести проект в другую папку и при этом сохранить его работоспособность, нужно сначала с помощью команды File ► Save Project As скопировать в эту папку файл проекта, а затем с помощью команды File ► Save As перенести туда все связанные с проектом модули: только в этом случае Delphi сумеет внести необходимые корректировки в файл проекта. Но если все файлы хранятся в единственной папке, в предложении uses не указываются пути доступа, и вы можете безболезненно разом скопировать все файлы в другую папку.