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

Анти SetMethodProp   Найти похожие ветки 

← →
GrBob   (2006-10-17 10:10) [0]

В рантайме навешиваю на свои классы обработчики путем обычного SetMethodProp. Теперь возникла необходимость их снять. Как это правильно сделать? Достаточно ли просто повторить SetMethodProp, передав ему TMethod с указателем в nil? Или есть какая-нибудь спецмальная функция?


← →
Игорь Шевченко ©   (2006-10-17 10:11) [1]


> Достаточно ли просто повторить SetMethodProp, передав ему
> TMethod с указателем в nil?


Достаточно


← →
GrBob   (2006-10-17 10:25) [2]

Спасибо. И Data и Code необходимо установить в nil, или достоточно Code? И что в этом случае будет, не попробует ли он найти у существующего класса пустой метод?


← →
jack128 ©   (2006-10-17 11:10) [3]

GrBob   (17.10.06 10:25) [2]
не попробует ли он найти у существующего класса пустой метод?

кто такой "он", можно поинтересоваться???  если в классе сделана проверка if Assigned(FSameEvent) then , код пойдет своим чередом.  В противном случае - AV неизбежен как победа мирового коммунизма ;-)


← →
GrBob   (2006-10-17 11:54) [4]


> jack128 ©   (17.10.06 11:10) [3]


> если в классе сделана проверка if Assigned(FSameEvent) then
> , код пойдет своим чередом.  В противном случае - AV неизбежен
> как победа мирового коммунизма ;-)

В этом то и вопрос. Предположим в методе формы создается TMethod.
Data = Self (то бишь свою процедуру прикручиваем), Code = nil (то бишь откручиваем обработчик). И потом все это передаем третьим параметром в SetMethodProp. Assigned в этом случае что скажет? И что он скажет если и Data и Code = nil. Хотя я вроде сам уже разобрался, просто проверить под рукой ничего нет, хотел уточнить.


← →
jack128 ©   (2006-10-17 12:01) [5]

GrBob   (17.10.06 11:54) [4]
Assigned

Assigned(MethodVar) идентично Assigned(MethodVar.Code). То есть проверка делается только для Code


← →
GrBob   (2006-10-17 12:32) [6]

Ок, спасибо.



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

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



Память: 0.46 MB
Время: 0.027 c
15-1162514217
Тюнс
2006-11-03 03:36
2006.11.26
А есть ли такой ТВтюнер, который бы мог записывать видео на флэш?


15-1162586445
ProgRAMmer Dimonych
2006-11-03 23:40
2006.11.26
Наверное, уже неоднократно этот вопрос задавали, но...


2-1162912485
m-kirill-2003
2006-11-07 18:14
2006.11.26
ADOquery1


15-1162870566
Slider007
2006-11-07 06:36
2006.11.26
С днем рождения ! 7 ноября


4-1152782207
17Landgraf
2006-07-13 13:16
2006.11.26
Как увидеть скрытый объект?




   Наверх