Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Eigene Komponente Property beschreibbar machen (https://www.delphipraxis.net/194329-eigene-komponente-property-beschreibbar-machen.html)

sko1 10. Nov 2017 07:12

Eigene Komponente Property beschreibbar machen
 
Hallo,

wie ich eine eigene Komponente erstelle ist klar, was aber wenn in der Basisklasse eine Property nur im OI änderbar, zur Laufzeit aber readonly ist?
Ich möchte diese Property aber zur Laufzeit ändern können!

Speziell geht es um die TWPRichtextLabel aus den WPTools, wo der Cursor zwar im OI änderbar ist, zur Laufzeit aber nicht, ein

Delphi-Quellcode:
WPRichTextLabel1.Cursor := crSizeAll;


ergibt: [dcc32 Fehler] UnitMain.pas(372): E2129 Einer Nur-Lesen Eigenschaft kann kein Wert zugewiesen werden

Was kann man tun?

Ciao
Stefan

TiGü 10. Nov 2017 07:46

AW: Eigene Komponente Property beschreibbar machen
 
Zeig mal die Deklaration der Property im Quelltext der Komponente und auch die Methoden vom Getter und Setter.

sko1 10. Nov 2017 08:03

AW: Eigene Komponente Property beschreibbar machen
 
Wenn ich die schon gefunden hätte :-(

Das eigentliche Control
TWPRichTextLabel = class(TWPCustomRtfLabel)
aus
TWPCustomRtfLabel = class(TWPRTFEnginePaint)

aber die Klasse TWPRTFEnginePaint habe ich in den Unmengen Source bisher nicht gefunden!
Leider hilft der Explorer mit Datei suchen (mit Dateiinhalte durchsuchen) auch nicht weiter...

Was mir dabei aber noch aufgefallen ist:
Ich kann plötzlich keine eigenen Komponenten mehr ableiten, im Fenster "Auswahl Vorfahr-Komponente" steht "keine Elemente verfügbar!

Ciao
Stefan

TiGü 10. Nov 2017 08:36

AW: Eigene Komponente Property beschreibbar machen
 
Hä? Wer sucht denn noch mit dem Explorer? :shock:

Delphi IDE öffnen -> Ctrl + Shift + F -> Im "Find In Files"-Dialog den Klassenamen ins Edit-Feld tippen/kopieren -> bei "Where" auf "Search in directories" gehen -> in "Directories" den Pfad von diesen Komponenten angeben ("Include subdirectories" anhaken)

Bei deutscher IDE-Sprache (brr, pfui) entsprechend mit den deutschen Begriffen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:12 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