Главная страница
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.034 c
1-1109742148
SteppesSon
2005-03-02 08:42
2005.03.20
обновление программ


3-1108833569
Leonardo
2005-02-19 20:19
2005.03.20
Как получить верный результат используя SUM()


1-1110011376
Creator___
2005-03-05 11:29
2005.03.20
Service Application в Delphi 7.0


8-1102239138
Black_Fury
2004-12-05 12:32
2005.03.20
Flash и Delphi


1-1110095064
Checist [root]
2005-03-06 10:44
2005.03.20
TreeNode