Вниз
Скачать: 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.021 c
7-42158
Navandrew
2003-09-01 17:23
2003.11.13
Биос


1-41217
MIKL
2003-11-01 16:34
2003.11.13
Color $0000FF


6-41841
LiViD
2003-09-12 19:27
2003.11.13
Прием/посылка файловых потоков через сокетное соединение.


14-42086
vic_vm
2003-10-23 15:29
2003.11.13
Что выбрать для работы с XML на Delphi


14-42096
Troll`
2003-10-23 11:34
2003.11.13
Чистоты звука




   Наверх