Möglich. Das eigenartige ist halt, dass er lediglich ein Touch auf die Datei macht. Ändern tut er ja nichts. Und das Touch wird erst ausgeführt wenn man aus dem Debugger das Programm fortsetzen möchte. Also wenn ich ein Programm um 12:00:00 gestartet habe, dann hat die main.dfm z.B. 12:00:00 und die exe ebenfalls 12:00:00. Also alles ok. Dann läuft es z.B. um 12:10:00 auf einen Breakpoint. Daraufhin drücke ich F9 (Run) um das Programm fortzusetzen. In dem Moment wird der Zeitstempel der main.dfm auf etwa zwei Sekunden nach der exe-Zeit gesetzt, also z.B. auf 12:00:02 und die meldet "Source changed"... Weird
.
Halten wir fest:
- Die Dateien haben bei deiner ersten Kontrolle den richtigen Zeitstempel
- Du machst den Touch etwa 10 Minuten später
- Die Differenz des Zeitstempels ist danach 2 Sekunden
Ich bin immer noch der Überzeugung, dass das nichts mit dem Debuggen zu tun haben kann. Delphi prüft zu dem Zeitpunkt nur die Aktualität der Datei. Sollte der Touch nach 10 Minuten den Zeitstempel ändern, kann das nicht um 2 Sekunden verändert werden, sondern müsste auch 10 Minuten sein. Die Ursache liegt also woanders.
Da du fest davon überzeugt bist, dass der
PE dir alles korrekt anzeigt, solltest du viellecht mal nach dem Compilieren Delphi beenden und den Rechner neu starten. Danach die Zeitstempel prüfen. Damit kann zumindest festgestellt werden, ob es wirklich an Delphi liegt oder doch ein fremder Prozess eingreift.
Vielleicht sogar eine Prüfung des Zeitstempels nach dem Beenden von Delphi machen und dann nochmal nach 10 Minuten und dann gegebenenfalls erst den Rechner nue starten für die letzte Kontrolle