![]() |
erweiterte Komponente - kein Zugriff auf neue Properties
:gruebel: Ich habe eine Komponente (Label) wie folgt (Kurzform) erweitert:
Delphi-Quellcode:
In Form.Create habe ich eine Reihe von Labels erzeugt und die Eigenschaften gesetzt. Ohne dass der Compile gemeckert hätte, konnte ich auch den neuen Properties Werte zuweisen.
TMyLabel = class(System.Windows.Forms.&Label)
private FVar1 : integer; FVar2 : string; public constructor Create; overload; destructor Destroy; override; property Var1 : integer read FVar1 write FVar2; property Var2 : string read FVar2 write FVar2; end; In einer weiteren Procedur versuche ich nun mit
Delphi-Quellcode:
vergeblich auf die neuen Properites zuzugreifen - ich habe nur Zugriff auf die Standard-Properties. Was habe ich falsch gemacht?
for i := 0 to Panel1.Controls.Count - 1 do
begin Panel1.Controls[i].Var1 := 10; Panel1.Controls[i].Var2 := '10:00'; end; Gruß Jürgen. |
Re: erweiterte Komponente - kein Zugriff auf neue Properties
Moin Jürgen,
Du hast vergessen den Typ des Controls mit anzugeben:
Delphi-Quellcode:
Ausserdem solltest Du vor dem Zugriff sicherheitshalber auch prüfen, ob das jeweilige Control auch den Typ hat:
(Panel1.Controls[i] as TMyLabel).Var1 := 10;
Delphi-Quellcode:
(Ich hoffe in .NET erfolgt der TypeCast auch so ;-))
if (Panel1.Controls[i] is TMyLabel then ...
|
Re: erweiterte Komponente - kein Zugriff auf neue Properties
:wall: Danke!
Ich hatte
Delphi-Quellcode:
geschrieben. Klar, dass ich da nur die Properties des Standard-Labels bekomme.
(Panel1.Controls[i] as System.Windows.Forms.&Label).Var1 := 10;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz