ActiveX в Delphi

       

Создание и уничтожение объектов



В процессе работы со стандартными объектами, которые предлагает Delphi, вы можете захотеть создать собственные объекты, которые наиболее полно описывают предмет вашей работы.
В качестве примера создания собственного объекта рассмотрим объект служащего вашей фирмы, и назовем его TEmployee. Предположим, что наш объект должен содержать такие свойства, как имя, должность и заработная плата, назовем их соответственно Name, Title и salary. А также добавим метод для расчета заработной платы: calculateSalary. Тогда описание нашего нового объекта получится похожим на следующее (листинг 1.5):

Листинг 1.5
type
TEmpioyee = class(TObject) private
FName: string;


FTitle: string;
FSalary: Double; public
property Name: string read FName write FName;
property Title:, string read FTitle write FTitle;
property Salary: Double read FSalary write FSalary;
function CaicuiateSaiary:
Double; end;

Первая строка в описании нового объекта говорит, что наш объект является наследником базового класса TObject, следовательно, все свойства и методы объекта TObject наследуются объектом TEmpioyee. Теперь вы можете помес
тить приведенный на листинге 1.5 код в любой из двух разделов модуля: раздел интерфейса (interface) или раздел реализации (implementation). После чего для создания объекта TEmployee вам потребуется вызвать метод Create, который наш объект унаследовал от базового объекта TObject:
var
Employee: TEmployee; begin
Employee := TEmployee.Create;
end;
Метод Create вызывает так называемый конструктор (constructor) объекта, который выделяет место в памяти для нового объекта и возвращает ссылку на созданный объект.

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

Для уничтожения созданного объекта и освобождения занимаемой объектом памяти необходимо вызвать метод Destroy, который также наследуется от базового объекта TObject. В нашем случае, строка для уничтожения объекта будет выглядеть так:
Employee.Free;



Содержание раздела