Sichtbarkeits von properties ändern
-
- Beiträge: 463
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
- CPU-Target: 64Bit
- Wohnort: Wien
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?
Re: Sichtbarkeits von properties ändern
Du musst für das/die (?) Property den THiddenPropertyEditor registrieren: http://wiki.freepascal.org/Extending_th ... _Inspector
-
- Beiträge: 2120
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Sichtbarkeits von properties ändern
Klasse ableiten und nur die gewünschten properties publishen
Sollte dann nur noch p1 angezeigt werden
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;
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.
-
- Beiträge: 2120
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Sichtbarkeits von properties ändern
Ich weiß nicht genau was du meinst, ich mach das so schon seit Jahren und es funktioniertwp_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.
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.
- Dateianhänge
-
unpublish_properties.zip
- (1.13 KiB) 69-mal heruntergeladen
-
- Beiträge: 2120
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Sichtbarkeits von properties ändern
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)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.
-
- Beiträge: 463
- Registriert: Do 8. Jun 2017, 18:21
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
- CPU-Target: 64Bit
- Wohnort: Wien
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).
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).