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

_fastcall TFormI(TComponent* Owner);

\ •

/'/—————————————————————————_

extern PACKAGE TFormI *Formi;

//——————————————————————————-

// сюда могут помещаться объявления типов, переменных, функций,
// которые не включаются в класс формы;

// доступ к ним из других блоков возможен только при соблюдении

// некоторых дополнительных условий

ftendif

Файл реализации:

//—————————————————————-

«include <vcl.h>'

ttpragma hdrstop

^include "Unitl.h"

//—————————————————————————-

#pragma package(smart init)
ftpragma resource "*.dfm"

// сюда могут помещаться дополнительные директивы
// препроцессора (в частности, include),
// не включаемые в файл автоматически

// объявление объекта формы Formi
TFormI *Formi;

//———————————————————————-

// вызов конструктора формы Formi
_fastcall TFormI::TFormI(TComponent* Owner)

: TForm(Owner)
(

// сюда вы можете поместить операторы,
// которые должны выполняться при создании формы

}
//———————————————————————_

/'/ сюда могут помещаться объявления типов и переменных,
// доступ к которым из других модулей возможен только при
// соблюдении некоторых дополнительных условий;

// тут же должны быть реализации всех функций, объявленных в
// заголовочном файле, а также могут быть реализации любых
// дополнительных функций, не объявленных ранее

void _fastcall TFormI::ButtonlClick(TObject *Sender)
(
Close() ;

//———————————————————————-

Рассмотрим подробнее эти файлы. Заголовочный файл начинается с автомати-
чески включенных в него директив препроцессора. В частности, C++Builder сам по-
мещает тут директивы include, подключающие копии файлов, в которых описаны
те компоненты, переменные, константы, функции, которые вы используете в дан-
ном модуле. Однако, для некоторых функций такое автоматическое подключение не
производится. В этих случаях разработчик должен добавить соответствующие ди-
рективы include вручную.

После директив препроцессора следует описание класса формы. Имя класса
вашей формы — TFormI. Класс содержит три раздела: _published — открытый
раздел, содержащий объявления размещенных на форме компонентов и обработ-
чиков событий в них, private — закрытый раздел класса, и public — открытый
раздел класса. В данном случае в разделе _published вы можете видеть объявле-
ния указателей на два компонента: компонент Buttoni типа TButton и компонент