| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Редактор свойств моего класса в real-time? |
| Автор: WaReZMEN 18.8.2009, 13:41 |
| Редактор свойств моего класса в real-time? много чего перерыл толкового ничего не нашел. А теперь подробнее многие из вас наверняка пользовались компонентами типа FastReport ну и т.д. Так вот в них существует возможность не только создавать новые компоненты типа (button, Label, Memo, Grid и т.п. ) но и менять их свойства прям в редакторе (в real-time). Хочется сделать что то подобное для своего класса (на данном этапе понять бы как делать с button, Label, Memo, Grid, а там уже разбираться со своим классом). |
| Автор: Bose 19.8.2009, 02:06 |
| Так называемый "редакторы свойств", в Delphi называется Object Inspector. Он позволяет просматривать и изменять published свойства компонентов(точно не скажу с какого уровня классов такая штука поддерживается). Для получения информации о свойствах и их изменения используeтся RTTI (смотри юнит typinfo). Если нужна готовая реализация, то поищи на torry.net что-то вроде object inspector. Также, готовая реализация такого инспектора есть в бесплатной библиотеке JVCL. |
| Автор: WaReZMEN 19.8.2009, 07:09 |
| Bose, то что без typinfo я знал |
| Автор: Bose 20.8.2009, 02:50 | ||
Может способы и есть, но я не знаю. Меня typinfo вполне устраивает. |
| Автор: Мозгоносец 20.8.2009, 07:20 |
| Идея "универсального" инспектора объектов не нова. Много копий о нее сломано. Много сделано. В Дельфи сделать это качественно не так просто. Мой опыт показывает, что в общем и целом проще делать свой инспектор под каждый класс отдельно, не заморачиваясь на универсальность. Но если хочется универсальности, то могу предложить посмотреть, например, здесь: http://gurin.tomsknet.ru/delphiobjectinspector.html Из того, что мне попадалось на глаза - лучшее. |
| Автор: WaReZMEN 20.8.2009, 09:21 |
| Мозгоносец, спасибо огромное может пригодится. |
| Автор: Мозгоносец 20.8.2009, 14:38 |
| Добавлю, кстати, еще кое-что на это тему. Очень скоро выходит Дельфи2010. Обещано, что в ней будет расширенный RTTI, атрибуты и все такое. Для нас это означает (верю в это), кроме всего прочего, и сериализацию в духе Студии, и легкость создания инспекторов объектов для рантайма. Лично меня легкая аж почти дрожь охватывает. Скока сил было потрачено на эти сериализации/настройки... Но лучше поздно, чем никогда. |
| Автор: Alexeis 20.8.2009, 21:14 | ||
А что там такого в студии? Рефлексии в С++ отродясь не было. Какие там могут быть удобства? |
| Автор: Мозгоносец 21.8.2009, 07:58 | ||||
Хм... Поставьте Express Studio2008 C#, раздается бесплатно на сайте Майкрософта. Почитайте книжки. Я сам - большой поклонник Дельфи, но в последнее время - Студия "рулит со страшной силой". |
| Автор: Alexeis 21.8.2009, 09:19 |
А ну C# другое дело. Насколько я знаю Delphi 2009 for win32 почти полностью совместим с .NET 2.0 . Кроме того если говорить о не нативном коде, есть Delphi Prism .NET 3.5 , так что все тоже можно сделать и на Delphi кстати он первоначально шел как плагин к студии. Возможно это то что вам нужно. |
| Автор: Мозгоносец 21.8.2009, 10:33 | ||
За Майкрософт не угнаться. Если нужен .Нет, то, на мой взгляд, нужно перебираться на Студию. Призм - хорош как "промежуточный" вариант для дельфийцев. |
| Автор: Alexeis 21.8.2009, 20:20 |
Если у вас уже есть сотни тысяч строк на делфи, не переписывать же их заново только от того что переходишь на дотнет. Кроме того на делфи.нет можно продолжать удалять объекты при помощи метода free, реального освобождения памяти не произойдет, но зато переделывать код не нужно. Изменения коснуться только если производилась прямая работа с указателями и вызов низкоуровневых функций типа FillChar или Move работа с абсолютными адресами или с записями с вариантами ну и всякие там асмовские вставки, короче то что весьма нетипично. |