Einzelnen Beitrag anzeigen

gkoeder

Registriert seit: 15. Jun 2004
84 Beiträge
 
Delphi 2010 Professional
 
#1

Property zu abgeleiteter Klasse hinzufügen

  Alt 19. Dez 2009, 12:20
Hallo!

Ich möchte eine von tCustomListView abgeleitete ListView erstellen. Bislang klappt auch alles sehr gut, nur stehe ich beim hinzufügen eines simplen Properties ziemlich auf dem Schlauch. Die Deklaration sieht folgendermaßen aus:

Delphi-Quellcode:
type
  tArchiveListView = class(tCustomListView)
  private
    FUseSystemFont: Boolean;
    ...
  public
    constructor Create(AOwner: TComponent); override;
  published
    ...
    property UseSystemFont: Boolean read FUseSystemFont write FUseSystemFont;
  end;

constructor tArchiveListView.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  If fUseSystemFont then
    ApplyExplorerFont(Font);
end;
UseSystemFont ist im ObjektInspektor sichtbar und kann auch gesetzt werden. Irritierenderweise ist der Wert von fUsesystemFont zur Laufzeit immer False, unabhängig davon, ob ich diesen vorab im ObjektInspektor auf True gesetzt habe.

Wird die neu erstellte Komponente auf einem Form verwendet, so wird der Wert korrekt in den Objektdaten des Forms gespeichert:

Delphi-Quellcode:
  
  ...
  object tArchiveListView1: tArchiveListView
    Left = 20
    Top = 20
    Width = 453
    Height = 477
    TabOrder = 4
    ViewStyle = vsReport
    UseSystemFont = True
  end
Leider ist auch hier bei jedem öffnen des Projekts die Eigenschaft wieder auf False gesetzt.

Wie gesagt, ich stehe gerade ziemlich auf dem Schlauch - hat jemand eine Idee, wo der Fehler liegt bzw. wie ich diese eigentlich relativ einfache Eigenschaft korrekt implementiere?

Danke!

Gruß,
Gerald
  Mit Zitat antworten Zitat