weder ... noch prüfst Du, ob aComp überhaupt vom Typ TGraphicControl ist.
Doch doch.
Wenn es Keines ist, dann gibt es eine "passende"
Exception, denn
(acomp as TGraphicControl)
.
Deshalb prüfe ich mit
if Assigend(aComp)
Aber hier TGraphicControl(acomp)
würde es nicht geprüft.
deshalb prüfe ich mit
and (aComp is TGraphicControl)
Achtung, IS und AS haben beim NIL einen kleinen UInterschied.
IS sagt False, wenn es NIL ist, also wenn es nicht "dieser Typ" ist.
AS dagegen läßt NIL durch, da es nur püpft, ob es der richtige Typ ist ... und NIL ist nicht ein "falscher Typ", da es nichts ist.
und mit dem anschließenden
then TGraphicControl(acomp).Height := 200;
sollte die Zuweisung auf height erst dann erfolgen, wenn acomp sowohl etwas zugewiesen wurde, also nicht Nil ist, dieses Etwas vom Typ TGraphicControl ist und damit über das Attribut Height von TGraphicControl geerbt haben sollte. Soweit ich das sehe, sollten die von Dir genannten Bedingungen alle (ohne
Exception) geprüft und vor dem Zuweisen von 200 auf das Attribut Height erfüllt sein. Also dürfte auch
Dann kannst du darauf casten
erfüllt sein.