Einzelnen Beitrag anzeigen

LuckySpacy

Registriert seit: 2. Apr 2003
Ort: Fränkisch-Crumbach
50 Beiträge
 
Delphi 10.4 Sydney
 
#1

Objekteigenschaften gehen verloren

  Alt 18. Nov 2014, 13:23
Folgendes Problem:

Ich versuche eine neue Komponente basierend auf TPanel zu erstellen.
Diese Komponente soll unter anderem ein TLabel haben.
Die Eigenschaften dieses Labels möchte ich im Objektinspektor verändern können.
Das funktioniert auch.
Nur wenn ich dann mein Programm starte, gehen die eingestellten Eigenschaften verloren.
Also ich trage in Caption "Hallo hier bin ich" ein.
"Hallo hier bin ich" ist auch sofort auf dem Panel zu sehen.
Nach dem Programmstart steht da nix mehr.
Was mache ich falsch?

Code:

interface

uses
  System.SysUtils, System.Classes, Vcl.Controls, Vcl.ExtCtrls, Vcl.StdCtrls;

type
  TTestComponent = class(TPanel)
  private
    FLabel: TLabel;
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property MyLabel: TLabel read FLabel write FLabel;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TTestComponent]);
end;

{ TTestComponent }

constructor TTestComponent.Create(AOwner: TComponent);
begin
  inherited;
  FLabel := TLabel.Create(Self);
  FLabel.Parent := Self;
  FLabel.Align := alClient;
end;

destructor TTestComponent.Destroy;
begin
  FreeAndNil(FLabel);
  inherited;
end;

end.
Thomas Bachmann
  Mit Zitat antworten Zitat