![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема №1 [D6]
Alex © (2002-07-05 22:13:00)Есть два класса:
1) TGraphicControl;
2) TPersistent;
Первый в себе использует второго. Вопрос: Можно ли директивой заставить первый из второго - перерисоваться после изменения переменной второго. Может можно без процедур?
Cobalt (2002-07-05 23:45:00) [1]Директивой - нет.
Можно ручками (т.е. командами. Директивы - для препроцессора/компилятора)
Сделай в одном ссылку на другого (типа, как ActiveControl), ну, и соответственно, после того, как пропертис его изменился, он (1-ый) командует 2-му - рисуй. В общем виде, грубо - так:
TMyPersistent = class (TPersistent)
private
FMyGraph:TGraphicControl;
FMyVar:integer;
Procedure SetMyVar(i:integer);
public MyVar:integer write SetMyVar;
...
Procedure TMyPersistent.SetMyVar(i:integer);
begin
FMyVar:=i;
FMyGraph.Draw;
end;