que tiene algunos controles virtuales, que es una parte de un sistema de diseñador que he hecho. Ellos imitan a los propios componentes de delphi, excepto que son completamente dibujados por el propietario. El problema al que me enfrento es que, dado que mi sistema de propiedad es algo diferente de Delphi ordinario, no puedo usar un inspector RTTI para editar las propiedades.Delphi no rtti inspector de
¿Alguien sabe acerca de un inspector que se ve y actúa como el inspector delphi normal, pero que me permite definir las propiedades por código?
Y si es posible, uno que me permite definir enumeraciones:
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;
y complejos tipos:
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;
¿Qué quiere decir con "mi sistema de propiedad es algo diferente de Delphi ordinario"? ¿Conoce la diferencia entre las propiedades públicas y publicadas? –
He he, yes. Im encuestas de propiedades desde un sistema externo, lo que significa que están almacenadas en pares nombre/valor en objetos personalizados. Entonces no son visibles desde RTTI normal, tengo que obtenerlos/configurarlos manualmente –
Ok, si todo lo que es diferente es su mecanismo de persistencia, use las propiedades publicadas declaradas con "False almacenado" y la construcción en el inspector de objetos para editar el tiempo de diseño. Si necesita ayuda con su mecanismo de persistencia (es decir, convertir texto en valores que puede asignar a las propiedades normalmente tipadas), observe cómo TReader y TFiler hacen el trabajo. –