C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Обработка событий дизайнера форм, кто нибудь делал такое?
klen
Отправлено: 25.05.2004, 21:49


Машинист паровоза

Группа: Участник
Сообщений: 239



Здравствуйте.

Собственно сабж в заголовке. После долгих исследований файлов билдера и реестра в части касающейся, пришел к выводу что все обьекты билдера есть суть СОМ сервера — дизайнер форм, редактор, отладчик......и тд, которые в принципе предоставляют интерфейс в виде методов свойств и событий. Кто нибудь в этом рылся?

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

Если найду решение писать сюда или нет? Есть люди кому это нужно?
AVC
Отправлено: 26.05.2004, 08:34


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE
нужно мне надо вылавливать событие изменения имени компонента

Заинтересовало, поискал. Свойство Name наследуется от TComponent. Изучение исходников поеазывает, что при динамическом изменении Name ни какого события не порождается. Идут простые проверки допустимости имени и копирование строки в private область. Другое дело, что метод SetName virtual и наследники могут его переопределять. TControl тоже не дает возможности отлавливать изменение имени. Остальное смотрите сами.
Gedeon
Отправлено: 26.05.2004, 09:24


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (klen @ 25/05/2004, 22:51)
Если найду решение писать сюда или нет? Есть люди кому это нужно?

Да, безусловно, напишите, на данный момент мне именно это не нужно, однако такого рода опыт и знания сохраняю для возможной дальнейшей работы. Со своей стороны не хватает времени порыться, тут не хэлп почитать biggrin.gif , да и уверенности в том, что нарою нет, однако постараюсь.
klen
Отправлено: 26.05.2004, 09:59


Машинист паровоза

Группа: Участник
Сообщений: 239



QUOTE
Свойство Name наследуется от TComponent. Изучение исходников поеазывает, что при динамическом изменении Name ни какого события не порождается.


Ты не понял, проблема отловить изиенения имени компонента на форме не в о время работы апликухи, а вовремя работы дизанера среды. Событие билдера (конкретно дизайнера форм).

Нашел !!!!!!!!!!!!!!!!!!!!!!!!!!!! УРЯ УРЯ УРЯ
Проблема решается так.
1. Среда содержит интерфейсы к так называймым "уведомителям".

Ноги растут из C++Builder Tools API

IOTABreakpointNotifier
IOTADebaggerNotifier
IOTAEditLineNotifier
IOTAEditorNotifier
IOTAFormNotifier
IOTAIDENotifier
IOTAMessageNotifier
IOTAModuleNotifier
IOTAProcessModNotifier
IOTAProcessNotifier
IOTAThreadNotifier
IOTAToolsFilterNotifier

Cобственно интерфейсы сами за себя говорят что они умеют.
Тот который мне нужен IOTAFormNotifier — оповещает о всех манипуляциях на форме : бросание на форму нового компонента, удаление, изменение имени и т.д ковыряние редакторе свойств...

Ну а далее как по вазелину:)
Gedeon
Отправлено: 26.05.2004, 10:47


Ветеран

Группа: Модератор
Сообщений: 1742



klen — вообще маньяк я смотрю biggrin.gif , хочу асмом более плотно позаниматься, что посоветуете почитать.
klen
Отправлено: 26.05.2004, 23:13


Машинист паровоза

Группа: Участник
Сообщений: 239



Убедительно рекомендую сначало железо изучить — тоесть апаратную архитектуру, а уж потом програмную модель и далее само кодирование.
Есть жизненый опыт настаивать на этом.

ЗЫ.
Я не маньяк — я просто спец
И с DataSheet'ом я творец
А коли нету Manual'у
Прийдется в руки брать лопату
Копать и рыть — искать "Число"
Не всем найти его дано
Ты зря, Георгий наезжаешь
Суть алгоритма не втыкаешь
Быстрей сходящийся найду
Выч-метод всем я покажу !
А Gadeon'у мой совет
В кристалле проца Ваш ответ
И если мимо Вы пройдете
До ASM'а Вы не ДОПОЛЗЕТЕ!!!
Klen Santakheza
в миру
Чернов Сергей.

Всем желаю удачи.




Отредактировано klen — 27/05/2004, 00:35
Gedeon
Отправлено: 27.05.2004, 09:14


Ветеран

Группа: Модератор
Сообщений: 1742



Да я вроде с железом то неплохо знаком, по образованию инженер электронщик, процессорные системы простенькие правда с подключением периферии доводилось когда-то разрабатывать. Совет принят во внимание, будем глубже рыть процессор.
klen
Отправлено: 27.05.2004, 10:21


Машинист паровоза

Группа: Участник
Сообщений: 239



Ну тогда в чем вопрос? smile.gif
Тогда я просто порекомендую следующую книгу — ПИ Рудаков, КГ Финогенов "Язык ассемблера: уроки программирования".
Gedeon
Отправлено: 27.05.2004, 10:46


Ветеран

Группа: Модератор
Сообщений: 1742



Спасибо.

Вернуться в Вопросы программирования в C++Builder