Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Wertebereich vererbter Eigenschaft begrenzen

  Alt 3. Aug 2011, 11: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?
$2B or not $2B

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