Darum auch meine Empfehlung möglichst nur das USES im Interface zu benutzen.
Dort steht dir Reihenfolge fest, also immer in der Reihenfolge, wie es im Code steht.
* erste
Unit
* dann das was in dieser
Unit steht
* dann zweite
Unit (falls nicht bereits in untergeordneten Units geladen)
* usw.
Das was im USES der Implementation steht, das kann der Compiler in beliebiger Reihenfolge einbinden.
wenn ich also die Units
A,
B und
C habe und alle 3 den Bezeichner
X definieren und ich in der implementation uses
A,
B,
C angebe und
X in meiner
Unit verwende, dann verwende ich unter Umständen das
X aus
B oder
A?
*Kopfkratz*