Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#27

AW: Merkwürdiger Effekt bei TLabel

  Alt 3. Mai 2020, 18:28
Delphi-Quellcode:
    Lbl:=TLabel(FindComponent('Label'+IntToStr(i)));
    Lbl.Caption:=IntToStr(Wuerfel.Value)
FRAGE: wenn es Label1 nicht gibt, was passiert in Zeile 2, wenn FindKomponent nichts findet?
Ich würde mal behaupten wenn FindComponent die Komponente nicht findet, gibt's ein nil zurück, und in der zweite Zeile wird dann eine Access Violation regnen.
Prüfe bei solchen Zuweisungen IMMER ob deine Variable überhaupt einen Inhalt hat. Letztlich ist Lbl in dem Fall nur ein Zeiger, und wenn der auf NIL zeigt, gibt's halt nix was man damit machen kann.

[Edit]Hab's grad mal ausprobiert. Aber es führt nicht zu einer Exception. Wahrscheinlich wird irgendwo in den Delphi-Bibliotheken auf <>nil geprüft. In dem Fall passiert nichts.[/Edit]
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

Geändert von Hobbycoder ( 3. Mai 2020 um 18:37 Uhr)
  Mit Zitat antworten Zitat