Принципы объектно-ориентированного визуального программирования_____39

//————————————————————

// функция main
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize() ;

Application->CreateForm(_classic! (TFormI), &Forml) ;

Application->CreateForm( classid(TForm2), &Form2);

Application->Run();

}
catch (Exception Sexception)

(

Application->ShowException(Sexception) ;

)
return 0;

)

//————————————————————————

Начинается файл головного модуля строками, первый символ которых — '#'.
С этого символа начинаются директивы препроцессора. Среди них наиболее важны
для вас директивы #include, с которыми вы еще не раз будете иметь дело. Эти ди-
рективы подключают в данный файл тексты указанных в них файлов. В частно-
сти, подобными директивами включаются в текст заголовочные файлы. Напри-
мер, директива #include <vcl.h> подключает заголовочный файл vcl.h, содержа-
щий объявления, используемые в библиотеке визуальных компонентов C++Buil-
der.

После директив препроцессора в файле размещены предложения USERES и
USEFORM. Это макросы, используемые для подключения к проекту файлов форм,
ресурсов и др. Препроцессор развернет эти макросы в соответствующий код. В дан-
ном случае вы можете видеть два макроса USEFORM, подключающих формы.
C++Builder автоматически формирует соответствующее предложение с макросом
USEFORM для каждой формы, вносимой вами в проект. Первый параметр макро-
са содержит имя файла модуля, соответствующего форме (например, «Unitl.cpp»),
а второй параметр — имя формы.

После всех этих вспомогательных предложений в файле расположена главная
функция программы — WinMain. Ее первым параметром является дескриптор
данного экземпляра приложения. Дескриптор — это некий уникальный указа-
тель, позволяющий Windows разбираться в множестве одновременно открытых
окон различных приложений. Иногда мы будем использовать дескрипторы при об-
ращении к различным функциям API Windows (API Windows — это пользователь-
ский интерфейс Windows, содержащий множество полезных функций). Второй па-
раметр WinMain — дескриптор предыдущего экземпляра вашего приложения
(если пользователь выполняет одновременно несколько таких приложений). Тре-
тий параметр является указателем на строку с нулевым символом в конце, содер-
жащую параметры, передаваемые в программу через командную строку. Иногда
такие параметры используются для переключения режимов работы программы
или для задания различных опций при запуске приложения из диспетчера про-
грамм или функцией WinExec. Последний параметр определяет окно приложе-
ния. Этот параметр может в дальнейшем передаваться в функцию ShowWindow.

Все эти параметры функции WinMain используются достаточно редко, так что
пока можете не стараться разбираться в их назначении.

После заголовка функции WinMain следует ее тело, заключенное в фигурные
скобки. Первый выполняемый оператор тела функции — Application->Initialize()
инициализирует объекты компонентов данного приложения. Последующие опера-
торы Application->CreateForm создают объекты соответствующих форм. Формы