Главная страница
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.048 c
1-1110033485
ПроНыРа
2005-03-05 17:38
2005.03.20
ToolBar


6-1105999407
Новичек
2005-01-18 01:03
2005.03.20
Информация от сервера.


3-1108277116
martin_
2005-02-13 09:45
2005.03.20
сервер InterBase и файловые системы


14-1109578444
Ev_genus
2005-02-28 11:14
2005.03.20
Вопрос фанатам и долгожителям


1-1110189099
Checist [root]
2005-03-07 12:51
2005.03.20
Наседник TComboBox