Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.022 c
1-41496
adif
2003-10-28 14:42
2003.11.13
Архивирование файлов


1-41396
alexis
2003-10-29 15:44
2003.11.13
создание компонента во время работы приложения.


14-42090
Denis
2003-10-23 13:25
2003.11.13
Как жить начинающему?


1-41720
Ivolg
2003-11-03 18:12
2003.11.13
Перехват (X)


14-41878
aimsyslv
2003-10-21 20:07
2003.11.13
Методы изучения языка