Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   übereifriges RegisterPropertyEditor im Delphi 12? (https://www.delphipraxis.net/214411-uebereifriges-registerpropertyeditor-im-delphi-12-a.html)

himitsu 8. Jan 2024 10:34

übereifriges RegisterPropertyEditor im Delphi 12?
 
Ich habe ein
Delphi-Quellcode:
RegisterPropertyEditor(TypeInfo(string), nil, 'DerPropertyName', TMyStringPropertyEditor);
,
welche an einem gleichnamigen Property, für mehreren nichtverwandte Klassen und deren Nachfahren, hängt.

Im Delphi XE und ich glaube auch im 10 und 11 funktionierte es noch richtig.

Das Dropdown sollte eigentlich nur an diesem bestimmten String-Property hängen, aber im Delphi 12 hängt es an ALLEN String-Property. :shock:
Haben Andere auch solche Probleme?


[add] https://quality.embarcadero.com/browse/RSP-44064 [/add]




Es gibt noch weitere Editoren, wo ich bis jetzt aber keine Fehler entdeckt habe, also dass sie ebenfalls an falschen Properties hängen.
Speziell der ähnliche
Delphi-Quellcode:
RegisterPropertyEditor(TypeInfo(string), TComponent, 'Hint', THintProperty);
hängt wirklich nur am Hint.
Delphi-Quellcode:
  RegisterPropertyEditor(TypeInfo(TText0), nil,        '',       TText0Property);
  RegisterPropertyEditor(TypeInfo(Integer), TComponent, 'TextNr', TText0Property);
  RegisterPropertyEditor(TypeInfo(Integer), TComponent, '_TextNr', TText0Property);
  RegisterPropertyEditor(TypeInfo(Integer), TcxTabSheet, 'Tag',    TText0Property);
  RegisterPropertyEditor(TypeInfo(string), TComponent, 'Hint',   THintProperty);

  RegisterPropertyEditor(TypeInfo(TFieldByName), nil,           '_TableNameField',    TFieldsListEditor);
  RegisterPropertyEditor(TypeInfo(TcxTabSheet), TcxPageControl, '',                   TPageControlPageProperty);
  RegisterPropertyEditor(TypeInfo(TComponent),  TcxSplitter,   'Control',            TSplitterControlProperty);
  RegisterPropertyEditor(TypeInfo(string),      nil,           '_StandardSQL',       TStandardSQLProperty);
  RegisterPropertyEditor(TypeInfo(TComponent),  TCimClass,     '_FrameProjStructure', TFrameProjStructureProperty);

  // zirkuläre Property im Objektinspektor ausblenden (werden vom CimDBGrid gefüllt)
  RegisterPropertyEditor(TypeInfo(TCimGridView), TCimGridViewColumnHandler, '', nil);
  RegisterPropertyEditor(TypeInfo(TDataSource),  TCimGridViewColumnHandler, '', nil);
  RegisterPropertyEditor(TypeInfo(TCimPopupMenu), TCimGridViewColumnHandler, '', nil);

  RegisterPropertyEditor(TypeInfo(TNestedEvents), nil, '_SettingsModulEvents', TNestedEventsPropertyEditor);

himitsu 8. Jan 2024 12:27

AW: übereifriges RegisterPropertyEditor im Delphi 12?
 
Mit TComponent statt NIL geht es, aber als Dokumentation ist NIL/Leerstring eigentlich recht praktisch, für das, was nicht explizit geprüft wird ... so, wie es auch in der Hilfe steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz