DoOnChange als Parameter ans Create übergeben?
Kann OnChange zur Laufzeit des Threads sich ändern? (theoretisch ja, da public Property ohne abgesicherten Setter)
Und wenn, passiert das dann auch definitif immer nur im Hauptthreads?
Wenn es sich nicht ändern kann/soll, dann darf das nicht als Property ungesichert öffentlich zugänglich sein.
Und wenn es sich nie während der Threadlaufzeit ändern kann, dann IF-Assigned vor das Synchronize, da bei NIL sonst immer sinnlos Synchronize ausgeführt wird und bremst.
Delphi-Quellcode:
IF Assigned( FOnChange ) THEN
Synchronize(
PROCEDURE
BEGIN
FOnChange( Self, I1, I2 ); // Beispiel
END );