Текущий архив: 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.45 MB
Время: 0.033 c