AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Default-Wert in Vererbung ändern

Ein Thema von stahli · begonnen am 13. Mai 2011 · letzter Beitrag vom 14. Mai 2011
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#1

Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 14:14
Delphi-Version: XE
Ich habe eine Ableitung von einem Panel und möchte dort Alignment standardmäßig auf taLeftJustify ändern:
Im Constructor würde ich Alignment entsprechend auch so setzen.

Delphi-Quellcode:
  TMyPanel = class(TPanel)
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Alignment: TAlignment {read GetAlignment? write SetAlignment?} default taLeftJustify;
  end;

Lässt sich das machen? Der Compiler verlangt Getter und Setter. Diese sind jedoch nicht virtuell und FAlignment ist privat.
Gibt es dafür einen Weg?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#2

AW: Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 14:17
Setz das Alignment einfach in deinem Konstruktor.
Glückauf
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 14:41
  1. Du darfst bei so etwas auch den Typ nicht mit angeben, dann sollte es gehen: property Alignment default taLeftJustify;
  2. Bedenke, dass das setzen eines Default-Wertes bei einer Property den Werte NICHT ändert, sondern nur für die Anzeige im OI und der bedingten Speicherung eventueller Änderungen in der dfm dient.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 14:42
Delphi-Quellcode:
published
  property Alignment default taLeftJustify;
end;


[add/edit]
Wird eine Property verschoben (z.B. von protected nach public) oder werden eigenschaften verändert, dann gibt man den Typen nicht mehr an (den Typen kann man eh nicht mehr ändern).

Und wo kommt denn der Post auf einmal her?
@2: Jupp, das wird nur dafür genutzt, ob der Wert im IO fett dargestellt wird und ob das Property z.B. in der DFM gespeichert wird.
Ist aktueller Wert = Default, dann ist der dünngeschrieben und wird nicht gespeichert.

Den Startwert, welcher zu deinem neuen Default paßt, wirst du eventuell im Constructor setzen müssen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (13. Mai 2011 um 14:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 16:32
Ihr habt aber schon den ersten Beitrag gelesen oder? Dort steht doch das er im Constructor den Wert auch entsprechend ändert.
Zitat:
Im Constructor würde ich Alignment entsprechend auch so setzen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's

Geändert von SirThornberry (13. Mai 2011 um 16:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 16:42
Ok, vielen Dank! Ohne Eigenschaftstyp funktioniert es perfekt.
Die IDE hatte vorher immer meine (händischen) Einstellungen zurückgesetzt.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Default-Wert in Vererbung ändern

  Alt 13. Mai 2011, 16:48
zurückgesetzt ist etwas falsch ausgedrückt. Durch den abweichenden Defaultwert wurde der gesetzte Wert einfach nicht gespeichert.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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