Главная страница
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.024 c
1-41211
Ivolg
2003-11-01 19:05
2003.11.13
Listbox строчки!!!


1-41567
Vivk
2003-11-04 08:23
2003.11.13
Qreport , FreeReport & толщина линий


4-42295
Olfi
2003-09-09 23:28
2003.11.13
Как узнать титл активного окна?


14-41962
Delirium^.Tremens
2003-10-16 09:31
2003.11.13
Осень


4-42315
Akvilon
2003-09-06 18:42
2003.11.13
SetWindowLong(hwnd, GWL_WNDPROC ...