Пропустить навигацию.
Главная

Из чего состоит проект пустого приложения

После запоминания файлов пустого приложения, к составу которых мы не приложили никаких усилий, остается только выполнить команду Run®Run. То есть — запустить приложение. Так как в нем не предусмотрено никаких действий, то остается только убедиться в соблюдении формой стандартных требований Windows. Попробуйте подвигать окно приложения по экрану, изменить его размеры, убедитесь в работоспособности каждой кнопки. После завершения работы приложения стоит заглянуть в каждый из каталогов, чтобы познакомиться с составом файлов, изготовленных каждой визуальной средой.

Приложение 2_01 (VB).

Меньше всего файлов, — всего три, — изготовила система Visual Basic.

Первый из них Form1.frm содержит символьное описание формы и текстов программ приложения. Структура описания формы и ее начинки напоминает вложенные блоки Паскаля — используются известные операторные скобки BEGIN и END. В каждой строке описания содержится идентификатор свойства и его значение, если оно было изменено на стадии проектирования. Текст программ в точности повторяет содержимое окна редактора программ, каким вы наблюдали его на стадии проектирования приложения.

Второй файл Project1.vbp принято называть файлом проекта (vbp — сокращение от Visual Basic Project). Заниматься изучением каждой его строки великого смысла не имеет, но их назначение — управление различными режимами работы интерпретатора или компилятора. Третий файл Project1.vbw является небольшой добавкой к файлу проекта.

После заявлений о том, что версии 5 и 6 систем Visual Basic умеют компилировать, вызывает удивление отсутствие exe-файла. Дело в том, что основной режим работы систем VB — интерпретация. Правда, довольно быстрая. На первой стадии система изготавливает промежуточный p-code (пи-код), который не является готовой к исполнению машинной программой. На втором этапе происходит интерпретация этого пи-кода. Чтобы заставить VB-систему изготовить exe-файл, необходимо выполнить команду File®Make Project1.exe. После этого в нашем каталоге появится четвертый файл и чуть-чуть изменится содержимое файла проекта. Полный список файлов пустого приложения, изготовленных VB-системой, и их длины приведены в табл.2.2.

Таблица 2.2

Имя файла Длина файла Содержание файла
Form1.frm 496 Файл с описанием формы и текстами программ
Project1.exe 16.384 Выполняемый файл приложения
Project1.vbp 582 Файл проекта
Project1.vbw 44 Дополнение к файлу проекта

Не стоит надеяться, что exe-файл будет работать на другом компьютере. На самом деле, для обеспечения его работы в составе Windows должна присутствовать динамическая библиотека MSVBVM60.DLL, входящая в систему Visual Basic и физически расположенная в каталоге c:\Windows\System. Ее объем 1.409.024 байт, и этот файл может понадобиться на другом компьютере, чтобы там заработало приложение Project1.exe. Для переноса файлов более серьезного приложения на другой компьютер может понадобиться и не одна дискета.

Приложение 2_02 (Delphi).

Список файлов пустого приложения, изготовленных системой Delphi 6.0, приведен в табл.2.3. Количество файлов достаточно велико. Можно порадоваться небольшому размеру exe-файла. Но так же, как и в предыдущем случае, на другом компьютере полученная программа работать не будет без поддержки соответствующих динамических библиотек, входящих в состав Delphi (например, без библиотеки vcl40.bpl объемом 1.884.136 байт). Файл конфигурации системы позволяет продолжить работу с проектом, восстановив все установки, которые были сделаны вами в предыдущий раз.

Таблица 2.3

Имя файла Длина Содержание файла
Project1.cfg 444 Файл конфигурации Delphi-системы
Project1.dof 1 109 Файл опций проекта
Project1.dpr 188 Файл проекта
Project1.exe 12 800 Выполняемый файл приложения
Project1.res 876 Файл ресурсов
Unit1.dcu 2 867 Промежуточный результат компиляции
Unit1.dfm 264 Файл с описанием формы
Unit1.pas 298 Модуль приложения

Приложение 2_03 (BCB).

Аналогичный экскурс в каталог, хранящий продукцию BCB, запротоколирован в табл. 2.4. Количество файлов увеличилось, т.к. каждая программа на Си сначала транслируется в объектный модуль. Кроме того, здесь присутствует заголовочный файл с описанием всех функций модуля, других подключаемых файлов, классов и глобальных констант. Поражает своими размерами файл с расширением tds, содержащий информацию для отладки. Его можно убить, не переносить в другие каталоги или на соседний компьютер. Но во время отладки сложных программ он окажет вам неоценимую помощь.

Таблица 2.4

Имя файла Длина Содержание файла
Project1.bpr 2 684 Файл проекта
Project1.cpp 710 Модуль проекта
Project1.exe 23 040 Выполняемый файл приложения
Project1.obj 15 717 Объектный модуль файла Project1.cpp
Project1.res 876 Файл ресурсов
Project1.tds 1 769 472 Файл с отладочной информацией
Unit1.cpp 523 Модуль приложения
Unit1.dfm 340 Файл с описанием формы
Unit1.h 750 Заголовочный файл проекта
Unit1.obj 36 330 Объектный модуль файла Unit1.cpp

Длины файлов, приведенные в таблицах 2.2-2.4, являются ориентировочными. Они зависят от установки многочисленных параметров, влияющих на работу системы — включаются ли в состав exe-файла процедуры и функции из динамически загружаемых библиотек, требуется ли оптимизация по объему программы и/или скорости ее работы, создается ли отладочная информация и т.п. Например, попытка создать exe-файлы, способные работать на других компьютерах, где отсутствуют соответствующие dll- и bpl-файлы, увеличивает размер программы пустого приложения до 200–300 Кбайт.

Программистам довольно часто приходится переносить проекты из одного каталога в другой. Все ли файлы из перечисленных в таблицах 2–4 следует копировать? Естественно, что exe-файлы из этого списка исключаются, т.к. в новом каталоге можно заново повторить компиляцию приложения. В среде Delphi не переносится файл с расширением dcu. В среде BCB не копируются объектные модули и файл с отладочной информацией. Все это хозяйство создается заново при очередной компиляции.

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