Форум: "Основная";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизАнти 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c