Delphi не-ртти инспектор - PullRequest
5 голосов
/ 25 февраля 2012

У меня есть несколько виртуальных элементов управления, которые являются частью созданной мной системы конструктора. Они имитируют собственные компоненты Delphi, за исключением того, что они полностью нарисованы владельцем. Проблема, с которой я столкнулся, заключается в том, что, поскольку моя система свойств несколько отличается от обычной Delphi, я не могу использовать инспектор RTTI для редактирования свойств.

Кто-нибудь знает об инспекторе, который выглядит и действует как обычный инспектор delphi, но который позволяет мне определять свойства по коду?

И, если возможно, тот, который позволяет мне определять перечисления:

with edInspector.Items.add('align') do
Begin
  Options.add('alLeft',ftord(TMyAlign.azLeft));
  Options.add('alTop',ord(TMyAlign.azTop));
  Options.add('alRight',ord(TMyAlign.azRight));
  Options.add('alBottom',ord(TMyAlign.azBottom));
  Options.add('alClient',ord(TMyAlign.azClient));
end;

и сложные типы:

with edInspector.Items.add('font') do
Begin
  subitems.add('name',dtString).value:=def_FontName;
  subitems.add('size',dtInteger).value:=def_fontSize;
  subitems.add('color',dtColor).Value:=def_fontColor;
end;

Ответы [ 2 ]

2 голосов
/ 26 февраля 2012

Дайте Inspex попробовать.Это довольно круто.

http://www.raize.com/DevTools/Inspex/Default.asp

Вы можете добавлять свойства динамически, и вы получите редакторы свойств для большинства распространенных типов.

Он может вести себя в значительной степеникак инспектор объектов Delphi (он позволяет редактировать наборы, если вы добавляете несколько объектов, он определяет, какие свойства одинаковы, и скрывает другие, и делает то же самое для значений свойств).

Показывает свойствав древовидной структуре, если есть несколько уровней.Вы можете легко заполнить его, добавив любой объект TObject, через строку или добавив свойства по одному.

Снимок экрана:

Screenshot

0 голосов
/ 27 февраля 2012

С Delphi Runtime Inspector вы сможете просматривать информацию об объекте во время выполнения.

...