Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:49
Du hast keinen else Zweig für

if TLabel(FindComponent('test1')) = nil then in dem MyLabel gesetzt würde.
Der else Zweig ist ja auch überflüssig ... allerdings ist MyLabel entweder nil oder sogar undefiniert, wenn schon ein Label besteht und dann soll darauf zugegriffen werden

Besser so:
Delphi-Quellcode:
       DetailsTitleLabel.Caption := tb.FieldAsString( tb.FieldIndex['mediatitle'] );

        if tb.FieldAsString( tb.FieldIndex['aname'] ) <> 'then
        begin
          // Label suchen
          MyLabel := TLabel( FindComponent( 'test1' ) );

          // Wenn kein Label gefunden wurde
          if MyLabel = nil then
          begin
            // dann müssen wir uns einen anlegen
            MyLabel := TLabel.Create( Self );
            MyLabel.Parent := MediaGroupBox;
            MyLabel.Name := 'test1';
            MyLabel.WordWrap := True;
            // MyLabel.Caption := tb.FieldAsString( tb.FieldIndex['aname'] );
            MyLabel.Left := 8;
            MyLabel.Top := 178;
            MyLabel.Font.Style:=[fsItalic];
            MyLabel.Width := MediaGroupBox.Width - 15;
          end;

          MyLabel.Caption := tb.FieldAsString( tb.FieldIndex['aname'] );
       end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat