Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Komponente und Strings (Leerzeichen wird nicht erkannt)

  Alt 27. Sep 2004, 13:55
Zitat von LuckySpacy:
Wenn ich im Objektinspektor die Caption des Labels in 'Hurra' verändere,
dann wird auch während der Entwicklung die Caption von 'Hallo Welt' in 'Hurra' verändert.
Nach dem Starten der Form steht jetzt 'Hurra'.

Wenn ich im Objektinspektor die Caption des Labels in '' verändere,
dann wird auch während der Entwicklung die Caption von (jetzt) 'Hurra' in '' verändert.
Nach dem Starten der Form wird aber 'Hallo Welt' angezeigt.
Du darfst das Property LabelCaption nicht an 2 Stellen (im LabelObjekt und in Objektvariablen FLabelCaption) speichern !
Dazu folgende Änderungen am Sourcecode:
Delphi-Quellcode:
type
  TTestKompo1 = class(TWinControl)
  private
    FLabel: TLabel;
    FLabelCaption: TCaption; // Zeile löschen !
    procedure SetLabelCaption(const Value: TCaption);
    function GetLabelCaption:TCaption;
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    // jetzt gibt es Get- & Set-Methode
    property LabelCaption: TCaption read GetLabelCaption write SetLabelCaption;
  end;

implementation

constructor TTestKompo1.Create(AOwner: TComponent);
begin
  inherited;
  FLabel := TLabel.Create(Self);
  FLabel.Parent := Self;
  FLabel.Top := 0;
  FLabel.Left := 0;
  LabelCaption := 'Hallo Welt'; // <-----
end;

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

procedure TTestKompo1.SetLabelCaption(const Value: TCaption);
begin
  FLabel.Caption := Value;
end;

function TTestKompo1.GetLabelCaption: TCaption;
begin
  Result := FLabel.Caption;
end;
Andreas
  Mit Zitat antworten Zitat