Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с наследованием формы через OTA [D6]


DrPass ©   (2005-11-16 22:32:00) 

Столкнулся с такой интересной проблемой Delphi6 (может, и других версий Delphi, не пробовал).
Есть некая форма, с компонентами не ней и установленными обработчиками. Если я наследую новую форму от нее "вручную", все работает просто замечательно
(да-да, знаю, устанавливать обработчики в родительском классе - дурной тон, но тут уж ничего не поделаешь, разве что переписать там полпроекта)
Иная картина наблюдается, если я пытаюсь наследовать эту форму в своем эксперте, через интерфейс IOTAModuleCreator. Вернее, она наследуется, создается, все свойства нормально устанавливаются. Но одна неприятность - при любом действии (сохранении, компиляции etc) Delphi начинает ругаться на каждый унаследованный обработчик, предлагая его удалить. При этом, независимо от выбора (yes/no/cancel), ничего она не удаляет, и потом нормально компилирует. Если сгенерированный экспертом проект закрыть и снова открыть, проблема исчезает. Похоже, что баг все-таки в реализации OTA... сталкивался кто-нибудь с таким?


DrPass   (2005-11-17 22:07:00) [1]

Обошелся глупым, но действенным методом - заставил эксперта создавать в новом модуле пустые заглушки на месте унаследованных обработчиков. Delphi сама их удаляет при первом сохранении, зато после этого новый проект работает на "ура"


Наверх

Титульная страница Поиск, карта сайта Написать письмо