![]() |
Bei Klassenvererbung eine Public property sperren
Hallo,
ich habe folgendes Problem. Ich habe mir eine Klasse von TCustomComboBox abgeleitet. Die TCustomComboBox hat im public-Teil die property Items. In meiner eigenen Komponente möchte ich zwar intern (innerhalb meiner Komponete) auf diese Eigenschaft zugreifen, aber der IDE diesen Zugriff verweigern. Ich hab schon folgendes probiert, aber es funktioniert nicht type TMyComboBox = class(TCustomComboBox) protected property Items; end; Ich komme danach immer noch mit MyComboBox1.Items.Clear an die Eigenschaft ran. Kann man vielleicht soetwas nicht rückgängig machen? Danke Oliver |
Re: Bei Klassenvererbung eine Public property sperren
Hallo,
die Regel lautet: einmal public, immer public. Man kann in Delphi die Sichtbarkeit nur erhöhen, niemals einschränken. Gruß xaromz |
Re: Bei Klassenvererbung eine Public property sperren
Delphi-Quellcode:
und Items.Clear läuft total ins Leere! :wink:
// alles deine neue Klasse
private function GetItems: TStrings; public property Items: TStrings read GetItems; //.. der Rest end; function TKlasse.GetItems; begin Result := nil; end; |
Re: Bei Klassenvererbung eine Public property sperren
Zitat:
Zitat:
1, Probier mal mittels Reintroduce das Property neu zu definieren. Damit kannst du es nur teilweise verstecken, da durch ein Case auf TCustomComboBox das Propertie doch wieder erreichbar ist. 2, Du leitest deine Klasse von TWinControl ab und hast als Member-Variable eine ComboBox welche mit alClient in deinem WinControl liegt. Dann kannst Du die Schnittstelle/Public Properties so definieren wie du Lustig bist. |
Re: Bei Klassenvererbung eine Public property sperren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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