Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактор свойств моего класса в real-time? 
:(
    Опции темы
WaReZMEN
Дата 18.8.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Редактор свойств  моего класса в real-time? много чего перерыл толкового ничего не нашел. 
А теперь подробнее многие из вас наверняка пользовались компонентами типа FastReport ну и т.д. Так вот в них существует возможность не только создавать новые компоненты типа (button, Label, Memo, Grid и т.п. ) но и менять их свойства прям в редакторе (в real-time). 
Хочется сделать что то подобное для своего класса (на данном этапе понять бы как делать с button, Label, Memo, Grid, а там уже разбираться со своим классом).
PM MAIL ICQ   Вверх
Bose
Дата 19.8.2009, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Так называемый "редакторы свойств", в Delphi называется Object Inspector. 

Он позволяет просматривать и изменять published свойства компонентов(точно не скажу с какого уровня классов такая штука поддерживается). Для получения информации о свойствах и их изменения используeтся RTTI (смотри юнит typinfo).
Если нужна готовая реализация, то поищи на torry.net что-то вроде object inspector. Также, готовая реализация такого инспектора есть в бесплатной библиотеке JVCL.
PM MAIL WWW Skype   Вверх
WaReZMEN
Дата 19.8.2009, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Bose, то что без typinfo я знал smile А может есть еще способы какие? слышал что многие не недолюбливают typinfo и пишут свои насколько это необходимо?
PM MAIL ICQ   Вверх
Alexeis
Дата 19.8.2009, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(WaReZMEN @  19.8.2009,  06:09 Найти цитируемый пост)
слышал что многие не недолюбливают typinfo и пишут свои насколько это необходимо? 

  Почему еще? Ну да он тормозной, но с другой стороны задача поиска строк не такая уж и эффективная в принципе, так что ожидать высокой производительности не стоит, зато гибко.



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Bose
Дата 20.8.2009, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(WaReZMEN @  19.8.2009,  06:09 Найти цитируемый пост)
Bose, то что без typinfo я знал smile А может есть еще способы какие? слышал что многие не недолюбливают typinfo и пишут свои насколько это необходимо? 

smile 

Может способы и есть, но я не знаю. Меня typinfo вполне устраивает.

PM MAIL WWW Skype   Вверх
Мозгоносец
Дата 20.8.2009, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2009

Репутация: нет
Всего: нет



 Идея "универсального" инспектора объектов не нова. Много копий о нее сломано. Много сделано. В Дельфи сделать это качественно не так просто. Мой опыт показывает, что в общем и целом проще делать свой инспектор под каждый класс отдельно, не заморачиваясь на универсальность. Но если хочется универсальности, то могу предложить посмотреть, например, здесь: http://gurin.tomsknet.ru/delphiobjectinspector.html Из того, что мне попадалось на глаза - лучшее.
PM MAIL   Вверх
WaReZMEN
Дата 20.8.2009, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Мозгоносец, спасибо огромное может пригодится.
PM MAIL ICQ   Вверх
Мозгоносец
Дата 20.8.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2009

Репутация: нет
Всего: нет



 Добавлю, кстати, еще кое-что на это тему. Очень скоро выходит Дельфи2010. Обещано, что в ней будет расширенный RTTI, атрибуты и все такое. Для нас это означает (верю в это), кроме всего прочего, и сериализацию в духе Студии, и легкость создания инспекторов объектов для рантайма. Лично меня легкая аж почти дрожь охватывает. Скока сил было потрачено на эти сериализации/настройки... Но лучше поздно, чем никогда.
PM MAIL   Вверх
Alexeis
Дата 20.8.2009, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Мозгоносец @  20.8.2009,  13:38 Найти цитируемый пост)
Для нас это означает (верю в это), кроме всего прочего, и сериализацию в духе Студии, и легкость создания инспекторов объектов для рантайма

  А что там такого в студии? Рефлексии в С++ отродясь не было. Какие там могут быть удобства?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Мозгоносец
Дата 21.8.2009, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2009

Репутация: нет
Всего: нет



Цитата(Alexeis @ 20.8.2009,  21:14)
Цитата(Мозгоносец @  20.8.2009,  13:38 Найти цитируемый пост)
Для нас это означает (верю в это), кроме всего прочего, и сериализацию в духе Студии, и легкость создания инспекторов объектов для рантайма

  А что там такого в студии? Рефлексии в С++ отродясь не было. Какие там могут быть удобства?

 Хм... Поставьте Express Studio2008 C#, раздается бесплатно на сайте Майкрософта. Почитайте книжки. Я сам - большой поклонник Дельфи, но в последнее время - Студия "рулит со страшной силой".
PM MAIL   Вверх
Alexeis
Дата 21.8.2009, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Мозгоносец @  21.8.2009,  06:58 Найти цитируемый пост)
 Хм... Поставьте Express Studio2008 C#

  А ну C# другое дело. Насколько я знаю Delphi 2009 for win32 почти полностью совместим с .NET 2.0 . Кроме того если говорить о не нативном коде, есть Delphi Prism .NET 3.5 , так что все тоже можно сделать и на Delphi кстати он первоначально шел как плагин к студии. Возможно это то что вам нужно.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Мозгоносец
Дата 21.8.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2009

Репутация: нет
Всего: нет



Цитата(Alexeis @ 21.8.2009,  09:19)
Цитата(Мозгоносец @  21.8.2009,  06:58 Найти цитируемый пост)
 Хм... Поставьте Express Studio2008 C#

  А ну C# другое дело. Насколько я знаю Delphi 2009 for win32 почти полностью совместим с .NET 2.0 . Кроме того если говорить о не нативном коде, есть Delphi Prism .NET 3.5 , так что все тоже можно сделать и на Delphi кстати он первоначально шел как плагин к студии. Возможно это то что вам нужно.

 За Майкрософт не угнаться. Если нужен .Нет, то, на мой взгляд, нужно перебираться на Студию. Призм - хорош как "промежуточный" вариант для дельфийцев.
PM MAIL   Вверх
Alexeis
Дата 21.8.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Мозгоносец @  21.8.2009,  09:33 Найти цитируемый пост)
Призм - хорош как "промежуточный" вариант для дельфийцев. 

  Если у вас уже есть сотни тысяч строк на делфи, не переписывать же их заново только от того что переходишь на дотнет. Кроме того на делфи.нет можно продолжать удалять объекты при помощи метода free, реального освобождения памяти не произойдет, но зато переделывать код не нужно. Изменения коснуться только если производилась прямая работа с указателями и вызов низкоуровневых функций типа FillChar или Move работа с абсолютными адресами или с записями с вариантами ну и всякие там асмовские вставки, короче то что весьма нетипично.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1104 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.