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

Вниз

Изменение переменной   Найти похожие ветки 

 
ilg ©   (2002-07-22 16:42) [0]

Можно ли сделать так, чтобы при изменении переменной X своего значения возникало событие, которое можно обрабатывать? Может быть это возможно, если X описать, как свойство какого-либо класса?
В общем, как поймать момент изменения значения переменной?
Заранее, большое спасибо!


 
Skier ©   (2002-07-22 16:45) [1]

>ilg
Сделай свойство YourProperty написи процедуру
SetYourProperty(Value : TYourType) и будет тебе счастье...


 
Виктор Щербаков ©   (2002-07-22 16:46) [2]


> Может быть это возможно, если X описать, как свойство какого-либо
> класса?

Обычно так и делают. Синтаксически это выглядит как присваивание переменной значения. Компилятор же генерирует код для вызова метода записи свойства.


 
ilg ©   (2002-07-23 10:36) [3]

Виктор Щербаков, извините, можно подробнее?
Я не совсем понял... Если можно, пожалуйста с примером!


 
MBo ©   (2002-07-23 10:59) [4]

type
TXX = class
private
FX: integer;
FOnXChanged: TNotifyEvent;
procedure SetX(const Value: Integer);
public
property X: integer read FX write SetX;
property OnXChanged: TNotifyEvent read FOnXChanged write FOnXChanged;
end;


procedure TXX.SetX(const Value: Integer);
begin
if FX <> Value then
begin
FX := Value;
if Assigned(FOnXChanged) then
FOnXChanged(Self);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
xx: txx;
begin
xx := txx.create;
xx.OnXChanged := Button2Click;
xx.x := 3;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Showmessage("X has been changed");
end;




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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-13591
Crypto
2002-07-23 20:19
2002.08.05
как обойти ограничение на объем TMemo?


3-13571
big_bugzy
2002-07-09 14:35
2002.08.05
Either BOF or EOF is true, or the current record has been deleted


14-13801
Dimich1978
2002-07-08 08:46
2002.08.05
Создадим или не создадим вот в чем вопрос.


3-13565
Igor_
2002-07-16 10:31
2002.08.05
BLOB


8-13731
Fred
2002-03-23 09:38
2002.08.05
Codec и для MediaPlayer