Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизСоздание своих событий для класса Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c