Sichtbarkeits von properties ändern

Rund um die LCL und andere Komponenten

Sichtbarkeits von properties ändern

Beitragvon braunbär » 11. Sep 2018, 16:07 Sichtbarkeits von properties ändern

Gibt es eine Möglichkeit, in einer abgeleiteten Klasse die Sichtbarkeit einer Property herabzusetzen, d.h. eine property, die man nicht braucht, von published auf irgend was anderes herabzusetzen, sodass sie nicht überflüssigerweise im OI angezeigt wird?
braunbär
 
Beiträge: 250
Registriert: 8. Jun 2017, 17:21

Beitragvon wp_xyz » 11. Sep 2018, 16:22 Re: Sichtbarkeits von properties ändern

Du musst für das/die (?) Property den THiddenPropertyEditor registrieren: http://wiki.freepascal.org/Extending_th ... _Inspector
wp_xyz
 
Beiträge: 2693
Registriert: 8. Apr 2011, 08:01

Beitragvon Warf » 11. Sep 2018, 16:36 Re: Sichtbarkeits von properties ändern

Klasse ableiten und nur die gewünschten properties publishen
Code: Alles auswählen
Tsuperclass =class(TControl)
...
Published
  Property p1: Type read ... write ...;
  Property p2: Type read ... write ...;
End
 
TSubClass = class(TSuperClass)
Published
  Property p1;
End;


Sollte dann nur noch p1 angezeigt werden
Warf
 
Beiträge: 985
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon wp_xyz » 11. Sep 2018, 16:51 Re: Sichtbarkeits von properties ändern

Nein, denn dann würdest du die anderen "published" Properties auf "public" zurückstufen. Die Sichtbarkeit von Properties kann man aber nicht verringern.
wp_xyz
 
Beiträge: 2693
Registriert: 8. Apr 2011, 08:01

Beitragvon Warf » 11. Sep 2018, 17:07 Re: Sichtbarkeits von properties ändern

wp_xyz hat geschrieben:Nein, denn dann würdest du die anderen "published" Properties auf "public" zurückstufen. Die Sichtbarkeit von Properties kann man aber nicht verringern.

Ich weiß nicht genau was du meinst, ich mach das so schon seit Jahren und es funktioniert
Warf
 
Beiträge: 985
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon wp_xyz » 11. Sep 2018, 17:29 Re: Sichtbarkeits von properties ändern

Das beigefügte Package enthält ein "TTextOnlyEdit", also ein TEdit, bei dem nur die Eigenschaft "Text" published ist. Wenn du das Package installierst und seo ein TTextOnlyEdit aufs Formular klickst, erscheinen im Object Inspector trotzdem alle anderen von TEdit geerbten Eigenschaften.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
wp_xyz
 
Beiträge: 2693
Registriert: 8. Apr 2011, 08:01

Beitragvon Warf » 11. Sep 2018, 17:38 Re: Sichtbarkeits von properties ändern

wp_xyz hat geschrieben:Das beigefügte Package enthält ein "TTextOnlyEdit", also ein TEdit, bei dem nur die Eigenschaft "Text" published ist. Wenn du das Package installierst und seo ein TTextOnlyEdit aufs Formular klickst, erscheinen im Object Inspector trotzdem alle anderen von TEdit geerbten Eigenschaften.


Ich schau mir das irgendwann mal an (bin grad im Urlaub und hab nur das Handy) aber zumindest bei Lazarus 1.6.4 hab ich das so verwendet und es hat funktioniert (damals hatte ich den properly Editor für ein eigenes Projekt gebraucht und wollte nicht alles anzeigen)
Warf
 
Beiträge: 985
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon braunbär » 11. Sep 2018, 22:54 Re: Sichtbarkeits von properties ändern

wp_xyz hat da natürlich Recht, wenn du in einer abgeleiteten Klasse eine Property , die in der übergeordneten Klasse published ist, nicht anführst, dann bleibt sie natürlich trotzdem published. Schön wäre es, wenn man so eine Property genauso auf protected herunterstufen könnte, wie man sie auf published hinaufstufen kann, aber das geht offenbar leider nicht.

Ich haba mir den Link zum THiddenPropertyEditor kurz angeschaut, und wenn ich Zeit und Muße habe, spiele ich mich damit. Momentan raufe ich leider mit schwerwiegenderen und dringlicheren Problemen (siehe im anderen Thread).
braunbär
 
Beiträge: 250
Registriert: 8. Jun 2017, 17:21

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried