Dann ist es wie vermutet:
Es lag noch eine funktionierende Version der Unit2 als .dcu kompiliert bereit und der Compiler hat diese verwendet statt die
Unit neu zu kompilieren.
Mit dem genannten Everything hättest du diesen Fehler in Sekunden gefunden.
Nö.
Mit 'Everything' (Danke für den Tip!) hatte ich bereits alle
dcu-Dateien aufgestöbert und entsorgt. Nach erneutem Erzeugen des Projektes war der Fehler aber immer noch da. Aus einem relativ frischen Backup, das noch korrekt funktionierte, habe ich dann in dem fehlerhaften Projekt eine .pas - Datei nach der anderen ersetzt, bis ich den Übeltäter gefunden hatte. Das Ganze lässt sich auch zuverlässig reproduzieren: Wenn ich die Uses-Klausel wieder entsprechend ändere und das Projekt erneut 'erzeuge', ist der Fehler wieder da. Das war wirklich eine harte Nuss, da ich zunächst viel Zeit damit verbracht habe, die Projekt-Dateien (.dproj, .dpr, .dsk usw.) bzw. die Projekt-Optionen zu analysieren und zu vergleichen oder neu erstellen zu lassen, wie es u. a. durch die Tips hier angeregt wurde. Eigentlich hatte ich das Problem schon gelöst, indem ich das Projekt auf der Basis des funktionierenden Backups 'von Hand' bzw. per Copy & Paste auf den aktuellen Stand gebracht hatte. Aber das ließ mir keine Ruhe, bis ich den wahren Grund für das merkwürdige Verhalten gefunden hatte.
Gruß LP