Вниз
Скачать: CL | DM;

перехват изменения свойства объекта   Найти похожие ветки 

 
LastLamer ©   (2003-10-26 23:00) [0]

Возможно ли перехватить изменение published свойства объекта
в RunTime не используя обработчики событий этого объекта? (возможно используя RTTI информацию?)


 
default ©   (2003-10-26 23:13) [1]

"не используя обработчики событий этого объекта"
как ты себе это интересно представляешь?
только, НАВЕРНО, если сохранять периодически значения published свойств и также периодически сравнивать с текущими...


 
default ©   (2003-10-26 23:24) [2]

кстати есть идея - может она и бредовая, НО:
так как св-ва publuished - для них генерится RTTI и ОНА меняется при(не вся конечно, значения только) изменении таких свойств, может как-то запретить доступ к этим данным чтоб при попытке записи к этим свойствам происходил exception?только надо уметь "выруливать" из этого exception-а производя нужные действия...покопай в эту сторону


 
LastLamer ©   (2003-10-26 23:38) [3]

я поэтому и спрашиваю возможно это или нет
ведь инспектор объектов в Run-time прекрасно все отслеживает


 
LastLamer ©   (2003-10-26 23:45) [4]

вообще у меня такая идея сначала была

PPropInfo = ^TPropInfo;
TPropInfo = packed record
PropType: PPTypeInfo;
GetProc: Pointer;
SetProc: Pointer;
StoredProc: Pointer;
Index: Integer;
Default: Longint;
NameIndex: SmallInt;
Name: ShortString;
end;

то есть адрес SetProc для данного объекта мы знаем
вопрос в том как перехватить обращение к этой процедуре
извне


 
default ©   (2003-10-27 00:04) [5]

можешь вместо SetProc поставить адрес своей подпрограммы только с теми же параметрами, чтобы потом дать возможность отработать оригиналу, адрес которого ты сохранишь заранее - фигня в том, что придётся писать подпрограммы для каждого свойства



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-41207
Alibaba
2003-11-01 21:27
2003.11.13
Show


8-41752
ianus
2003-06-18 18:51
2003.11.13
Tmediaplayer


7-42205
Павлов Александр
2003-08-25 14:44
2003.11.13
Как определить из MS-DOS вендора и модель чипсета?


1-41569
афвуд
2003-10-27 15:01
2003.11.13
Нужно достать значения left, top и т.д. формы, когда она в развёр


1-41277
.0.
2003-10-31 14:30
2003.11.13
как сделать чтобы функция вернула не одно ,а несколько значений с




   Наверх