Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wertebereich vererbter Eigenschaft begrenzen

  Alt 3. Aug 2011, 10:36
Natürlich kannst du so den wert nicht ändern ... ohne Zugriff auf die Variable.

Aber du mußt doch sowieso irgendwie die überschriebene Methode des Vorfahren aufrufen und dort gibst du dann den angepaßten Wert weiter.

Delphi-Quellcode:
procedure tClimaModel.setTSet(T: Double);
begin
  if T < -50 then
  begin
    T := -50;
    logthis('Error: TSet out of range (min)');
  end
  else if T > 150 then
  begin
    T := 150;
    logthis('Error: TSet out of range (max)');
  end;
  inherited; // oder inherited setTSet(T);
end;
oder falls das Logging nicht nötig ist:
Delphi-Quellcode:
procedure tClimaModel.setTSet(T: Double);
begin
  inherited setTSet(Min(Max(T, -50), 150);
end;
Du hast doch mit virtual und override überschrieben?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 3. Aug 2011 um 10:40 Uhr)
  Mit Zitat antworten Zitat