Danke - da steht sie zwar nicht drin, aber das hat mich auf die richtige Fährte gebracht.
Ich hatte eine neue
Unit in die
dpr eingetragen und diese Zeile am Ende mit einem ';' statt mit einem ',' abgeschlossen.
Dadurch, dass die
Unit anderswo eingebunden ist, wird dann zuerst diese Stelle vom Compiler gefunden.
Dieser geht zuerst die uses-Liste der .dpr durch und merkt sich die Units dort. Am Semikolon bricht er ab und geht dann die Units durch. Der weitere Quelltext der .dpr wird erst danach durchgegangen, so dass der Syntaxfehler dort erst am Ende gemeldet werden würde. Das muss man natürlich wissen, um entsprechende Rückschlüsse zu ziehen.
Zur Fehleranalyse bietet es sich an vielen Stellen an, absichtliche Syntaxfehler einzubauen, damit der Compiler diese finden muss. In diesem Fall wäre das Problem aufgefallen, wenn der Dateiname in der uses verfälscht worden wäre, denn der Compiler hätte dann zuerst diesen Fehler anzeigen müssen, sofern er bis zu der Zeile gekommen wäre. Hier wäre weiter der andere Fehler angezeigt worden, was dann gezeigt hätte, dass die uses-Liste ein Problem beinhaltet.