Der Compiler geht die Uses-Liste in der
DPR und dann in den verlinkten Units durch. Die Units in der
DPR werden der Reihe nach initialisiert, außer in einer der Units wird wiederrum was eingebunden, was eventuell auch in der
DPR steht, dann wird das natürlich vorgezogen.
Das Erste in der
DPR kann also nur als Erstes kommen.
Und da FastMM außer den System-Units, der Windows.pas (was sonst nichts einbindet und keine Initialization besitzt) und seinen eigenen Units nichts einbindet, muß FastMM auch als Erstes geladen werden, wenn es in der
DPR das Erste ist.
Vorher gibt es nur die zwei System-Units, welche immer automatisch zuerst eingebunden werden, also System.pas und SysInit.pas.
Bei Delphi 7 und Davor gibt es nur eine "Ausnahme" ... hast du dir vielleicht den Delphi 7-Virus eingefangen?
Für Delphi 7 gibt es einen "Test"-Virus der die System.pas ändert und neu kompiliert, denn blöder Weise arbeiten viele als Administrator und wenn nicht, dann haben sie dem Programmverzeichnis Schreibrechte gegeben, damit Delphi 7 immernoch funktioniert, da es im Programmverzeichnis rumschreibt.