Главная страница
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.031 c
14-1109414052
07BB:080Dh
2005-02-26 13:34
2005.03.20
Пневматический автомат Калашникова


14-1109503478
Чеширский_Кот
2005-02-27 14:24
2005.03.20
Объявление: Ищу компонент


3-1108972304
BeginerEmpty
2005-02-21 10:51
2005.03.20
ID записи при добавлении в базу при использовании IBX


9-1103466364
-=SS=-
2004-12-19 17:26
2005.03.20
Опять Вопрос по GlScene


6-1105772012
tester666
2005-01-15 09:53
2005.03.20
CGI приложения