Тестування модуля компонента

Перед додаванням нового компонента в палітру компонентів необхідно всебічно його перевірити. Для цього треба створити додаток, що використовує компонент і переконатися, що компонент працює так, як треба.
Під час створення форми додатки можна додати в форму компонент, значка якого немає в палітрі компонентів. Однак такий компонент може бути доданий в форму динамічно, т. е. під час роботи програми.
Створюється тестове додаток звичайним чином: спочатку створюється форма додатка, а потім – модуль додатки.
Вид форми програми тестування компонента NkEdit- наведено на рис. 16.2.

Рис. 16.2. Форма додатки Тест компонента NkEdit

Форма містить дві мітки і командну кнопку. Перша мітка призначена для виведення інформаційного повідомлення, друга мітка (на малюнку вона виділена) використовується для виведення числа, введеного в поле редагування. Самого поля редагування компонента NkEdit в формі немає. Цей компонент буде створений динамічно під час роботи програми, але для нього залишено місце над полем мітки.
Після створення форми в модуль програми, автоматично сформований Delphi, необхідно внести такі доповнення:

  1. У список використовуваних модулів (розділ uses) додати ім’я модуля тестованого компонента (NkEdit).
  2. В розділ оголошення змінних (var) додати інструкцію оголошення компонента. Тут слід згадати, що компонент є об’єктом, тому оголошення компонента в розділі змінних не забезпечує створення компонента, а тільки генерує покажчик на компонент, отже необхідна інструкція виклику конструктора об’єкта, яка дійсно створює компонент (об’єкт).
  3. Для форми додатка створити процедуру обробки події oncreate, яка викликом конструктора тестованого компонента створить компонент і встановить значення його властивостей.

У лістингу 16.3 наведено модуль програми тестування компонента NkEdit.

Лістинг 16.3. Тест компонента NkEdit

unit tstNkEdit_; interface
uses
Windows, Messages, SysUtils,

Variants, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls,
NkEdit; // посилання на модуль компонента
type
TForm1 = Class (TForm)
Label1: TLabel;
Label2: TLabel;
Buttonl: TButton;
procedure FormCreate (Sender: TObject);
procedure ButtonlClick (Sender: TObject);

private
{ Private declarations}

public
{ Public declarations}

end;
var
Form1: TForm1;
myEdit: TnkEdit; // компонент NkEdit
implementation
{$ R * .dfm)
procedure TForm1.FormCreate (Sender: TObject);

begin
// створимо компонент і помістимо його на форму
myEdit : = TNkEdit.Create (self);

myEdit.Parent : = Self;

myEdit.Left : = 8;

myEdit.Top : = 64;

end;
procedure TForm1.ButtonlClick (Sender: TObject);

begin
label2. Caption: = FloatToStr (myEdit .Numb);

end;
end.

Тестовий компонент створюється процедурою обробки події Formcre-ate (Створення форми) за допомогою виклику конструктора компонента, якому в якості параметра передається значення self, що показує, що власником компонента є форма додатка.
Після створення компонента обов’язково повинен бути виконаний важливий крок: властивості Parent необхідно присвоїти значення. В даному випадку тестований компонент знаходиться в формі додатка, тому властивості Parent присвоюється значення self.
На рис. 16.3 наведено вікно програми ест компонента NkEdit під час її роботи, після введення числа в полі редагування і клацнути на кнопці Тест.

Рис. 16.3. Тестування компонента. Поле введення – компонент NkEdit