![]() |
zurückgreifen auf Variablen in einer höheren Vererbungsstufe
Hallo und guten Tag an alle DP´ler,
Hab mal eine Frage zu der Vererbung, welche ich hier mit der SuFu und auch mit dem ![]() Also ich habe eine Komponente mit 1 Edit und 1 Label. Diese werden in der Ursprungskomponente definiert und auch ihr zusammen Spiel (sprich das Label zeigt das gleich an, wie das Edit). Jetzt möchte ich von dieser Ursprungskomponente eine weitere Komponente ableiten, bei der ich einen gewissen Anhang an die Anzeige des Labels zusätzlich machen möchte. Hierbei gibt es aber ein paar Probleme. Für alle die dies vieleicht nicht verstanden haben hier ein Beispiel: Zitat:
Vielen Dank BAMatze Ps.: oder muss ich eine Methode schreiben, die ich dann später überschreibe, in welcher ich dies handle? |
Re: zurückgreifen auf Variablen in einer höheren Vererbungss
in deinem speziellen Fall wäre es das einfachste diese Funktion welche die Labelcaption setzt als virtual zu declarieren und in den protected Abschnitt zu verschieben:
Delphi-Quellcode:
in der Ableitung sieht das ganze dann so aus:
TBase = class(...)
protected procedure UpdateLabelCaption(ANewCaption: String); virtual; end; procedure TBase.UpdateLabelCaption(ANewCaption: String); begin Label.caption := ANewCaption; end;
Delphi-Quellcode:
Entsprechend müsstest du natürlich im OnChange deines Edits (in der Basisklasse) die Methode UpdateLabelCaption aufrufen.
TAbleitung = class(TBase)
protected procedure UpdateLabelCaption(ANewCaption: String); override; end; procedure TAbleitung.UpdateLabelCaption(ANewCaption: String); begin inherited UpdateLabelCaption(ANewCaption + 'm'); end; |
Re: zurückgreifen auf Variablen in einer höheren Vererbungss
Hallo SirThornberry,
genau daran hab ich ebend auch gearbeitet, aber ich hab immer versucht auf das Label direkt wieder zurückzugreifen. Deine Methode ist natürlich schön einfach. Dank dir, funzt so wie ich mir das Vorstelle. Vielen Dank BAMatze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 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