Hmh, es scheint so, als würde das Activate beim Fokussieren des PageControl auf dem Formular ausgelöst, und in den aufrufenden Funktionen davor passiert irgendwas mit einer Umrechnung wegen DPI. Ich vermute da irgendwo jetzt ein Problem vielleicht auch gerade im Zuammenspiel mit Win 8.1.
Um die Fragen noch zu beantworten:
OldCreationOrder ist false und war es auch immer. Aber auch ein Setzen von OldCreationOrder auf true ändert nichts - das Activate wird auch dann vorher ausgeführt.
Application.ProcessMessages kommt in meinem Programm an ein paar wenigen Stellen vor, aber nicht beim Initialisieren. Sicherheitshalber habe ich in die ProcessMessages aber auch mal einen Breakpoint gesetzt, um zu testen, ob es nicht doch schon versehentlich irgendwo aufgerufen wird. Wird es nicht.
Ich gebe die Ursachenforschung jetzt erst einmal auf - um das Formular Stück für Stück auseinanderzunehmen oder zu versuchen, noch tiefer in die
VCL abzustiegen und rauszufinden, wo ein entscheidender Unterschied zwischen 10.2.3 und 10.3.1 ist, fehlt mir leider gerade die Zeit. Ich nehme es also erst einmal so hin, dass Activate und Create in umgekehrter Reihenfolge auftreten können und werde das mit Statusvariablen entsprechend abfangen (bzw. habe das in meiner 10.3-Spielwiese getan). Dann funktioniert das Programm ansonsten problemlos.
Danke für eure Anregungen!