![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Редактор свойств моего класса в real-time? много чего перерыл толкового ничего не нашел.
А теперь подробнее многие из вас наверняка пользовались компонентами типа FastReport ну и т.д. Так вот в них существует возможность не только создавать новые компоненты типа (button, Label, Memo, Grid и т.п. ) но и менять их свойства прям в редакторе (в real-time). Хочется сделать что то подобное для своего класса (на данном этапе понять бы как делать с button, Label, Memo, Grid, а там уже разбираться со своим классом). |
|||
|
||||
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
Так называемый "редакторы свойств", в Delphi называется Object Inspector.
Он позволяет просматривать и изменять published свойства компонентов(точно не скажу с какого уровня классов такая штука поддерживается). Для получения информации о свойствах и их изменения используeтся RTTI (смотри юнит typinfo). Если нужна готовая реализация, то поищи на torry.net что-то вроде object inspector. Также, готовая реализация такого инспектора есть в бесплатной библиотеке JVCL. |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Bose, то что без typinfo я знал
![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Почему еще? Ну да он тормозной, но с другой стороны задача поиска строк не такая уж и эффективная в принципе, так что ожидать высокой производительности не стоит, зато гибко. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
||||
|
||||
Мозгоносец |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.7.2009 Репутация: нет Всего: нет |
Идея "универсального" инспектора объектов не нова. Много копий о нее сломано. Много сделано. В Дельфи сделать это качественно не так просто. Мой опыт показывает, что в общем и целом проще делать свой инспектор под каждый класс отдельно, не заморачиваясь на универсальность. Но если хочется универсальности, то могу предложить посмотреть, например, здесь: http://gurin.tomsknet.ru/delphiobjectinspector.html Из того, что мне попадалось на глаза - лучшее.
|
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Мозгоносец, спасибо огромное может пригодится.
|
|||
|
||||
Мозгоносец |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.7.2009 Репутация: нет Всего: нет |
Добавлю, кстати, еще кое-что на это тему. Очень скоро выходит Дельфи2010. Обещано, что в ней будет расширенный RTTI, атрибуты и все такое. Для нас это означает (верю в это), кроме всего прочего, и сериализацию в духе Студии, и легкость создания инспекторов объектов для рантайма. Лично меня легкая аж почти дрожь охватывает. Скока сил было потрачено на эти сериализации/настройки... Но лучше поздно, чем никогда.
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А что там такого в студии? Рефлексии в С++ отродясь не было. Какие там могут быть удобства? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Мозгоносец |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.7.2009 Репутация: нет Всего: нет |
Хм... Поставьте Express Studio2008 C#, раздается бесплатно на сайте Майкрософта. Почитайте книжки. Я сам - большой поклонник Дельфи, но в последнее время - Студия "рулит со страшной силой". |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А ну C# другое дело. Насколько я знаю Delphi 2009 for win32 почти полностью совместим с .NET 2.0 . Кроме того если говорить о не нативном коде, есть Delphi Prism .NET 3.5 , так что все тоже можно сделать и на Delphi кстати он первоначально шел как плагин к студии. Возможно это то что вам нужно. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Мозгоносец |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.7.2009 Репутация: нет Всего: нет |
За Майкрософт не угнаться. Если нужен .Нет, то, на мой взгляд, нужно перебираться на Студию. Призм - хорош как "промежуточный" вариант для дельфийцев. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Если у вас уже есть сотни тысяч строк на делфи, не переписывать же их заново только от того что переходишь на дотнет. Кроме того на делфи.нет можно продолжать удалять объекты при помощи метода free, реального освобождения памяти не произойдет, но зато переделывать код не нужно. Изменения коснуться только если производилась прямая работа с указателями и вызов низкоуровневых функций типа FillChar или Move работа с абсолютными адресами или с записями с вариантами ну и всякие там асмовские вставки, короче то что весьма нетипично. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |