Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Время ожидания в дизайнере   Найти похожие ветки 

 
DimaBr   (2005-08-12 09:41) [0]

Я пишу компонент, который после загрузке формы (на которой он лежит) производит некоторые действия в дизайнере. Когда начинать эти действия я не знаю, но нужно чтобы форма со всей требухой уже отобразилась (все компоненты получили свои оконные представления)  и тогда всупает в действие моё извращение.


 
Юрий Зотов ©   (2005-08-12 21:23) [1]

Можно перекрыть Loaded. Но все же для компонента эта чисто дизайнерская задача выглядит, ИМХО, несколько странно. Почему компонент, а не эксперт IDE?


 
DimaBr   (2005-08-13 10:15) [2]

Здравствуйте, уважаемый  Юрий Зотов. Создаётся впечатление, что Вы здесь один (ну или почти один).
Насколько Вы поняли я пытаюсь преобразовать Ваш Эксперт (прячущий невизуальные компоненты) в компонент, дабы при открытии формы не прятать каждый раз все заново. То есть помнить, какие компоненты, на каких формах спрятаны. Может быть я поступаю неверно, но запоминать все это в эксперте мне кажется глупо. Помогите дельным советом.


 
Юрий Зотов ©   (2005-08-13 12:38) [3]

Код компонента живет в приложении. Зачем засорять приложение кодом, который в run-time совершенно не нужен? Незачем.

В эксперте есть форма, а в ней - ListBox с галочками. Галочки определяют, какие компоненты нужно прятать. Значит, при сохранении формы надо в ее же каталоге записать файл (например, с именем модуля формы и каким-то специальным расширением), а в этом файле сохранить состояние галочек. При открытии же формы этот файл нужно прочитать (если он есть) и по нему восстановить видимость компонентов. То есть, эксперт должен перехватывать сохранение и открытие (или активизацию) форм.

Смотрим ToolsAPI.pas и видим, что интерфейс IOTAFormNotifier содержит такие методы. Значит, нам надо написать класс, реализующий этот интерфейс и зарегистрировать этот класс внутри эксперта. Как это сделать - см. пример в поставке Delphi.


 
DimaBr   (2005-08-13 16:44) [4]

С интерфейсами я ещё не подружился, молод пока. Да и файл к каждой форме цеплять - както громозко, хотя можно и в один всё впихнуть, прицепленный к проэкту. Только всё это нужно сначала энать, посоветуйте где взять !

По поводу Код компонента живет в приложении. Зачем засорять приложение кодом - одним больше, одним меньше значение не имеет. У меня описание компонентов главной формы зачастую длинее обработки их событий. Тем более что этот компонент в Run-Time работать не будет.



Страницы: 1 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
2-1137072542
pound
2006-01-12 16:29
2006.01.29
логотип


3-1132910094
rleha
2005-11-25 12:14
2006.01.29
Q: Мирно засыпает сессия Delphi7-программы с MS SQL 2000


2-1137410503
ломтик
2006-01-16 14:21
2006.01.29
x:= (32434234/77545) mod 5; ERROR!


2-1137065966
HITMAN
2006-01-12 14:39
2006.01.29
IdSMTP


15-1136737369
Glex
2006-01-08 19:22
2006.01.29
Олимпиадные задачи (!) Интересные