Zitat von
Alexander Roth:
procedure ColorChanged; override;
Dieses
override zeigt dir, dass ColorChanged eine
virtuelle Methode ist, die überschrieben wird. Und genau dieses
override fehlt bei deiner Komponente. Dadurch ersetzt deine Methode nicht die originale in die virtuellen Methodentabelle. Dies hat zur Folge, dass bei einem Aufruf der Methode die "alte" aufgerufen wird, weil der Aufruf über die virtuellen Methodentabell durchgeführt wird. Du musst also nur bei deiner ColorChanged Deklaration ein
override anhängen.