Ja, wie ich es mir gedacht habe: kleiner Fehler plus kleiner Fehler ergibt einmal richtig
. Bösewicht ist diese Zeile:
Brush.Color := AColor;
Die hätte ich nach dem Füllen zurücksetzten müssen, aber ich dachte mir damals es ist unwichtig. Dann hab ich die Prozedur einmal mit der neuen Farbe aufgerufen, beim zweiten mal mit der Brush Farbe. Und da Brush.Color beim ersten mal schon umgestellt wurde, war das Ergebnis beim zweiten Mal zufällig richtig.