Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#10

AW: Mehrere Label benennen

  Alt 5. Nov 2014, 09:58
Das ist aber sehr optimistisch, Du solltest zumindest prüfen, ob die entsprechende Komponente auch gefunden wurde.
Wenn die Funktion des Programms erfordert, daß das "Umbenennen" funktioniert, dann bringt soein IF nichts, wenn man das ELSE mit Fehlermeldung nicht mit einbaut.
Delphi-Quellcode:
Comp := FindComponent('Label' + inttostr(i));
if Assigned(Comp) and (Comp is TLabel) then
  TLabel(Comp).Caption := 'Nummer' + inttostr(i)
else
  // Fehlerbehandlung!
Aber wenn man nicht wirklich weiß was man macht, dan sollte man unbedingt von Hardlinks (TEdit(...) ) verzichten und nur mit Softlinks (... as TEdit ) arbeiten, denn fallen solche Fehler auf.

Wobei in der VCL das Edit eh kein (public) Caption besitzt und der Compiler das bereits bemängeln sollte.

(FindComponent('Label' + IntToStr(i)) as TLabel).Caption := 'Nummer' + IntToStr(i);
Wenn es nicht gefunden wurde, oder es der falsche Typ ist, dann gibt es eine wunderschöne Exception. (und nicht nur eine komische Zugriffsverletzung)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat