![]() |
ControlCount = 5, ComponentCount = 0. Unterschied?
Dieser Code ist in der Kompo TPanelVerschieben (abgeleitet von TPanel)
Delphi-Quellcode:
Auf dem Panel sind 5 TLabel-Kompos. ComponentCount müsste doch eigentlich jetzt den Wert 5 haben. Ist aber leider 0.
for i := 0 to TPanelVerschieben(Self).ComponentCount - 1 do
begin ... end; Mit
Delphi-Quellcode:
klappt es, aber ich will dann auch immer direkt auf das Label zugreifen:
for i := 0 to TPanelVerschieben(Self).ControlCount - 1 do
begin ... end;
Delphi-Quellcode:
Nur mit Control[i] geht das nicht. Mit Components[i] gehts schon, aber das ist ja 0. Was mach ich nun???
for i := 0 to TPanelVerschieben(Self).ControlCount - 1 do
begin // Wenn Komponente = TLabel if Self.Controls[i] is TLabel then // <<--- Klappt nicht!!!! begin // Dann füge in ListBox Eintrag mit "Top" und "Name" hinzu ("235;Label1) Posi.Items.Add(IntToStr(TLabel(Self.Components[i]).Top) + ';' + TLabel(Self.Components[i]).Name) end; end; |
Re: ControlCount = 5, ComponentCount = 0. Unterschied?
Du musst SetSubcomponent im Label-Contructor aufrufen (ein Beispiel findest du im Source von TLabeledEdit) und dem Label (im Panel-Code) das Panel als .Parent zuweisen.
Dann sollte es gehen. mfG mirage228 |
Re: ControlCount = 5, ComponentCount = 0. Unterschied?
Moin Sebastian,
wo benutzt Du dass denn? Self enthält immer die Adresse des Objektes in dessen Methode es benutzt wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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