Как добавить метод/событие в уже созданный класс?
Столкнулся с интересной ситуацией:
кидаю на форму ТfsFormsRTTI1.
Он автоматически добавляет в скрипт некоторые классы и компонеты. Все вроде бы хорошо, но!
Хочу теперь добавить в TComboBox стандартные события (OnChange, OnClick, OnCloseUp и т.д.) а как!?
Пришлось лезть в fs_iformsrtti.pas и править там... все вроде бы заработало, но в голову лезут разные мысли: А что будет при обновлени версии FS? Опять править?
Может, как всегда, есть более простое решение?
кидаю на форму ТfsFormsRTTI1.
Он автоматически добавляет в скрипт некоторые классы и компонеты. Все вроде бы хорошо, но!
Хочу теперь добавить в TComboBox стандартные события (OnChange, OnClick, OnCloseUp и т.д.) а как!?
Пришлось лезть в fs_iformsrtti.pas и править там... все вроде бы заработало, но в голову лезут разные мысли: А что будет при обновлени версии FS? Опять править?
Может, как всегда, есть более простое решение?
Комментарии
В модуль-прослойку добавляем: Запускаем, скрипт: Работает...
Я тоже так делаю, поэтому и возник вопрос. Что называется нутром почувствовал, что делаю не так как надо...
Попутно возник еще один вопрос:
А как проверить, может этот метод в классе уже описан? Не привидет ли это к скрытым ошибкам..? (Как я понимаю, мы сталкнемня с этим, когда появится новая версия FS, т.к. она явно расширится).
Если я правильно понял:
1.есть модуль-обертка fs_xxx.pas
2.есть наша надстройка my_xxx.pas c какими-то добавлениями.
Мы получаем обновленный fs_xxx.pas - как проверить на наличие/отстутствие конфликтов с нашей надстройкой my_xxx.pas?
ИМХО руками и глазами, заодно лишний раз просмотреть исходник, может найдется еще что полезное (вроде FindClass )
Исходники бесспорно проссматривать нужно, с этим споров нет, но как на счет человеческого фактора?
ИМХО, сусанин, не туда ты меня повел... Я отказываюсь все проверять глазами... не те времена...
Предлагаю внести в ФС небольшое улучшение: при вызове методов AddClass, AddMethod или AddEvent (ну, и всех остальных Addxxx) чтобы сначала шла проверка, а есть ли такой класс/метод/событие/ххх, если нет, то добавлять, нет - тихо молчать (в крайнем случае, выдавать сообщение нефатальное)...
Если же ничего страшного в повторном объявлении нет, то и фиг с ним...