Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
15-1162621229
ifbegin
2006-11-04 09:20
2006.11.26
Delphi 5. Руководство разработчка


6-1152275835
olevacho_
2006-07-07 16:37
2006.11.26
Переключение проксей в IE


2-1163157062
novill
2006-11-10 14:11
2006.11.26
Переменную из dll можно экспортировать, а как ее использовать?


9-1137086278
Galiaf
2006-01-12 20:17
2006.11.26
DCE в GLScene.


3-1159253506
ScoPal
2006-09-26 10:51
2006.11.26
DOA Oracle не могу получить ошибку привызове процедуры.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский