AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datum / Zeit exe vs Quelle

Ein Thema von BigAl · begonnen am 12. Apr 2021 · letzter Beitrag vom 14. Apr 2021
Antwort Antwort
Seite 1 von 2  1 2      
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#1

Datum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 10:45
Hallo zusammen,

seit gestern habe ich das Problem, dass mich die IDE beim Debuggen ständig damit nervt, dass ich meinen Code geändert hätte. Ich kann das zwar ignorieren, aber das Verhalten stört extrem. Ich habe das auch nicht immer, aber sehr oft (vielleicht 9 von 10 mal).

Ich nutz die aktuellste Delphi Pro (10.4.2).

Was passiert:

Ich kompiliere die Applikation. Dazu werden von der IDE die Quellen natürlich zuerst gespeichert. Soweit passt auch alles (Habe Datum und Zeit der Dateien geprüft). Sobald ich im Debugger bin ist auf einmal die Zeit der main.dfm oder die Zeit der main.pas neuer als die Zeit der exe... In der IDE selbst zeigt es keinerlei Änderung an. Selbst "File/Save all" ist deaktiviert, was normalerweise ja auch aussagt, das nichts geändert wurde.

Wie gesagt: Das Verhalten habe ich erst seit gestern. Die wesentliche Änderung die ich gemacht habe ist eine hinzugefügte dependency auf ein Bibliothek...

Noch ein update: Das die main.dfm ändert ihr Datum sobald ich das Programm z.B. aus einem Breakpoint fortsetzen will. Setze ich also einen Breakpoint und die Applikation stoppt ist noch alles ok. Sobald ich die Ausführung fortsetzen will wird der Zeitpunkt der main.dfm geändert (auf etwa zwei bis drei Sekunden nach der exe-Zeit) und die Meldung erscheint. Die Zeit der dfm hat nichts mit der tatsächlichen Uhrzeit zu tun. Die ist da schon viel weiter...

Update 2: Die dfm wird nicht geändert (binär identisch). Lediglich der Zeitstempel wird verändert...

Hat irgendwer eine Idee woran das liegen könnte?

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)

Geändert von BigAl (12. Apr 2021 um 11:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.078 Beiträge
 
Delphi 12 Athens
 
#2

AW: Dateum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 10:54
Hast du die Zeitumstellung verschlafen und gestern erst gemacht?

Delphi merkt sich in LocalTime das Änderungsdatum der geöffneten Dateien (PAS/DPR) und vergleicht sie regelmäßig. (beim Ändern der Zeitzone raucht das dann ab)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#3

AW: Dateum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 10:56
Hast du die Zeitumstellung verschlafen und gestern erst gemacht?
Der musste kommen...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.078 Beiträge
 
Delphi 12 Athens
 
#4

AW: Dateum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 12:43
Hätte ja sein können.

Von allen Uhren hatte die Uhr im Computer (der die ganze Zeit aktiv und mit dem Netz verbunden war) sich Montags noch nicht umgestellt ... hab dann selber manuell an Zeitzone/Sommer-/Winterzeit rumgespielt, bis es irgendwann wieder stimmte ... k.A. ob/wann das von alleine passiert wäre.


Das Datum der EXE hat hierfür nichts zu bedeuten.
Zeiten der EXE und DCU werden nur dafür genommen, ob beim nächsten F9 die EXE/DLL/BPL neu kompiliert wird,
und die Zeiten von PAS und DCU bestimmen, ob beim Compile (beim Build immer) die DCU neu kompiliert wird. (bei INC funktioniert es leider nicht und Compile ignoriert deren Änderung)



Die DDevExtension haben (glaub ich) auch soeine Funktion, welche das Verhalten der IDE mit eigenem Code überschreiben.
Vielleicht mal damit probieren, ob es weg geht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Apr 2021 um 12:46 Uhr)
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#5

AW: Dateum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 12:57
(bei INC funktioniert es leider nicht und Compile ignoriert deren Änderung)
INCs werden eigentlich korrekt betrachtet wenn Du sie im Projekt mit aufnimmst. Ich habe z.B. einige "fremde" Dateien (glsl-Dateien) die bei Bedarf das Neukompilieren der Ressourcen erfordern. Auch da werden Änderungen wunderbar erkannt.

Das Problem ist wie gesagt: Es stimmt alles bis ich zum Debuggen das Programm unterbreche (Breakpoint oder einfach nur F4). In dem Moment wo ich das Program weiter ausführen will (Run oder Step) ändert sich der Zeitstempel der main.dfm. Es wird also ein "touch" gemacht. Inhaltlich ändert sich an der Datei nichts...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.078 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 13:32
Hast du "speichern beim kompilieren" aktiviert?

Das ist eh sinnlos, weil es nach dem Kompilieren speichert, was nichts bringt, wenn die IDE beim Kompilieren verreckt.
Außerdem gibt es mit dem neuen Recovery, seit einigen Jahren, eine schönere Möglichkeit.



Du meinst also doch die EXE (Quellcode hat sich geändert, soll neu kompiliert werden)
und nicht Datei hat sich geändert, soll neu geladen werden.

Letzteres hab ich schon ewig nicht mehr gesehn. Kann sein, dass man es irgendwo abschalten kann.
Ich war aber davon ausgegangen, dass hier die geladenen/editierten Dateien in der IDE führend sind und nicht das Datum auf der Platte.
z.B. wenn beim Debuggen in die IDE gewechselt und dort "ausversehn" was geändert wurde.


[add]
Tools > Optionen > IDE > Compilierung und Ausfühung
> Geänderte Projekte immer compilieren

siehe auch F6: compil


Vielleicht auch mal probehalber die "Unit- und Verzeichnis-Cache" deaktivieren.
Das abschalten von gewissen anderen Caches machte die IDE ja auch gleich mal viel schneller und besser.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Apr 2021 um 13:42 Uhr)
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 13:36
Ja klar. Ist immer die erste Einstellung die ich mache. Die Chance, dass die IDE beim Start der Applikation crasht ist einfach zu hoch. Und das Recovery funktioniert in so einer Situation auch nur bedingt...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.054 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Dateum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 13:41
Hätte ja sein können.

Von allen Uhren hatte die Uhr im Computer (der die ganze Zeit aktiv und mit dem Netz verbunden war) sich Montags noch nicht umgestellt ... hab dann selber manuell an Zeitzone/Sommer-/Winterzeit rumgespielt, bis es irgendwann wieder stimmte ... k.A. ob/wann das von alleine passiert wäre.
Hatte ich auch unter Windows 20H2, allerdings ist das meine erste Zeitumstellung unter Windows 10 im Privaten. Umstellung erfolgte erst bei der nächsten Synchronisation mit dem Zeitserver.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.078 Beiträge
 
Delphi 12 Athens
 
#9

AW: Datum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 13:45
Beim Recovery die Zeit runterschreiben (1 Minute), beruhigt schonmal mehr.

Das Einzige, wo ich beim Recovery Probleme bemerke, ist bei neuen "ungespeicherten" Projekten/Units ... da wird zwar das Recovery erstellt,
aber es kommt beim Neustart keine Frage "hab was gefunden, soll ich's wiederherstellen?" und man muß beim Erstellen einer neuen Unit/Projekt aufpassen, weil dann das Recovery gelöscht/überschrieben wird.


Ja, bei unseren Packages ist die Chance auch sehr hoch, dass es beim Entladen des DesigntimePackage beim Kompilieren knallt, aber das raucht dann eben immer vor dem Speichern ab, womit diese Einstellung absolut sinnlos ist.
Schau mal in die DDevExtension oder war's das IdeFixPack?, da gab es ein "speichern beim Kompilieren", was vorher speichtert.

Ich will auch, dass gespeichert wird, wenn ich es will und nicht wenn die IDE gedenkt es zu machen.
Ich hätte nur gern, dass auch der Desktop gespeichert wird, wenn man "Speichern" sagt und nicht erst beim Schließen der IDE. Und wenn die IDE beim Schließen abkratzt, hätte ich gern, dass dabei der alte gespeicherte Desktop nicht ebenfalls geschrottet und beim Starten der IDE nicht alles komplett zerlegt und nicht alle Haltepunkte im Nirvana wären.


[ADD]
Neee, diese Option war es:
Tools > Optionen > Debugger-Optionen > Zum Neuerzeugen beim Debuggen geänderter Projekte auffordern
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Apr 2021 um 15:57 Uhr)
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#10

AW: Datum / Zeit exe vs Quelle

  Alt 12. Apr 2021, 21:22
Da das alles irgendwie nichts hilft habe ich jetzt die Dependencies wieder rausgenommen und nehme halt zum Testen die benötigten Quellen in der Hauptapplikation auf. Dann werden die gespeichert und es wird erkannt wenn sich was ändert. Ist halt doppelt gemoppelt, aber die fertigen Sachen kann ich ja leicht wieder rausnehmen. Was solls.

Zu Zeitumstellung: Keine Ahnung was ihr für Computer habt. Ich kann meinen Nachts zuschauen bei der Umstellung. Und die die nicht bei der Umstellung gelaufen sind haben beim Start die richtige Zeit. Damit hatte ich noch nie Probleme...

Und zum Speichern: So groß sind meine Projekte nicht. Alles < 500tsd Zeilen. Beim Kompilieren ist mir das Delphi eigentlich noch nie abgeschmiert. Wenn, dann immer NACH dem speichern, beim Start der Applikation. Das etwas nicht gespeichert war hatte ich eigentlich - soweit ich mich erinnere - noch nie. Ich versuche allerdings auch meine IDE "clean" zu halten. Außer meinen 4/5 Standardbibliotheken versuche ich alles mit "Bordmitteln" zu machen. Auch wenn ich mir manchmal die Treffsicherheit von Visual-Studio (speziell beim Code-Insight und beim Debuggen) wünsche - aber damit arbeite ich demnächst ja auch wieder .

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz