AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Anfängerfrage zu Komponenten: Wie Default Wert im Object Inspector setzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerfrage zu Komponenten: Wie Default Wert im Object Inspector setzen?

Ein Thema von iphi · begonnen am 31. Jan 2016 · letzter Beitrag vom 31. Jan 2016
Antwort Antwort
iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#1

Anfängerfrage zu Komponenten: Wie Default Wert im Object Inspector setzen?

  Alt 31. Jan 2016, 10:01
Hallo,

ich habe eine kleine Testkonente unter Delphi7 geschrieben:
Delphi-Quellcode:
unit TestComponent;

interface

uses
  Windows, Messages, SysUtils, Classes;

type
  TTestComponent = class(TComponent)
  private
    { Private declarations }
    FTest: integer;
    constructor Create(AOwner: TComponent);
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    { Published declarations }
    property Test: Integer read FTest write FTest default 10;
  end;

procedure Register;

implementation

constructor TTestComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Test:=10;
end;

procedure Register;
begin
  RegisterComponents('Samples', [TTestComponent]);
end;
  
end.
Ich hätte erwartet, dass ich im Object Inspector bei der Property den Default Wert 10 sehe, ich sehe aber Null. Wenn ich die Komponente auf einer Form verwende, und dort TestComponent1.Test abfrage, ist die auch auf Null gesetzt. Was mache ich falsch?

Danke für Eure Hilfe!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Anfängerfrage zu Komponenten: Wie Default Wert im Object Inspector setzen?

  Alt 31. Jan 2016, 10:12
Dein Konstructor wird nicht verwendet

constructor Create(AOwner: TComponent); override; Das Default bei der Deklaration der Property bedeutet nicht, dass dies der Standardwert sein soll, sondern dass dieser Wert nicht in die dfm übernommen wird.

Im Konstruktor würde ich direkt das private Feld verwenden

FTest := 10;
Markus Kinzler
  Mit Zitat antworten Zitat
iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#3

AW: Anfängerfrage zu Komponenten: Wie Default Wert im Object Inspector setzen?

  Alt 31. Jan 2016, 10:23
Danke, override, das wars! Habs sogar verstanden
Vielen Dank für den Tipp!
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#4

AW: Anfängerfrage zu Komponenten: Wie Default Wert im Object Inspector setzen?

  Alt 31. Jan 2016, 12:17
..

und der constructor gehört in den public Bereich
(Compiuler sollte eigendlich warnen)
  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 23:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz