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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1161092738
MegaVolt
2006-10-17 17:45
2006.11.26
Некорректно отображаются Hint в ListView с OwnrDraw :(


2-1162927063
Ingwar
2006-11-07 22:17
2006.11.26
уж точно вопрос начинающего =)


2-1162970915
malefik
2006-11-08 10:28
2006.11.26
Tthread и с чем его едят?


15-1162936910
PHPDeveloper
2006-11-08 01:01
2006.11.26
Rentacoder


15-1162473753
Tonich
2006-11-02 16:22
2006.11.26
Юникс