![]() |
#6 |
Участник
|
SysDictClass в общем случае не позволит узнать о существовании метода на форме (за исключением методов, реализованных в классе SysSetupFormRun), для форм есть специально обученный метод Form::formRunHasMethod() и обертка для него - Global::formHasMethod(). Вообще же, по-моему, если хочется гибкости во взаимодействии с вызывающими объектами, то предпочтительнее работать через какой-нить интерфейс, тогда будут проверяться сигнатуры методов целиком, а не просто их название, причем еще на этапе компиляции тех классов, которые реализуют интерфейс. Но и тут с формами засада: хотя для них и можно указать, что якобы они реализуют тот или иной интерфейс, однако, и компилятор это никак не проверяет, и SysDictClass не способен во время выполнения это определить.
|
|
|
За это сообщение автора поблагодарили: Pustik (2), S.Kuskov (3), Caramba (1). |