Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Создание своих событий для класса   Найти похожие ветки 

 
SkyRanger ©   (2005-03-09 03:20) [0]

Всем привет! Столкнулся с такой вот трудностью. У меня есть класс который выполняет некие действия с файлами и хочется сделать на форме индикатор т.е. что и с какими файлами в данный момент происходит.
Класс невизуальный. Т.е. тут 2 пути или вставить в Impelementation
uses МояФорма;

Что мене не устраивает!

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

Посоветуйте как поизящнее решить эту задачу.


 
PKT   (2005-03-09 03:50) [1]

Ну, как вариант так:

В модуле класса, "кторый выполняет некие действия с файлами"
добавить событие

type
 TMyClass = object(...)
 private
   ........
   FAction: TNotifyEvent;
   ........
   procedure Action;
   ........
   property OnAction: TNotifyEvent read FAction write FAction;
 end;

В процедуру класса, где собственно происходит Ваша обработка, добавьте:

procedure TMyClass.Action;
begin
 ................
 if Assign(FAction) then FAction(Self);
end;

************************************************
В вызывающей форме следующее:

type
 TMyForm = class(TForm)
 .............

   procedure MyAction(Sender: TObject);
 end;

procedure MyAction(Sender: TObject);
begin
 StatusTxt.Caption :=
   MyClass.СвойствоКлассаСИнформациейОбОбновлении
end;

procedure TMyForm.FormCreate(Sender: TObject);
begin
 MyClass.OnAction := MyAction;
end;


 
SkyRanger ©   (2005-03-09 06:00) [2]

Большое сапасибо :) ща попробую!



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1109935612
santa
2005-03-04 14:26
2005.03.20
шифрование текстовых файлов


3-1108631800
AndrewKsionz
2005-02-17 12:16
2005.03.20
Как поместить картинку jpeg в Graphic-поле


1-1110040916
aha
2005-03-05 19:41
2005.03.20
как симитировать работу программы - программа управлениия


14-1108916899
Девушка
2005-02-20 19:28
2005.03.20
Ethernet-устройства


1-1110214130
mordush
2005-03-07 19:48
2005.03.20
Desktop