Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debugger Datum Zeit ändern (https://www.delphipraxis.net/194666-debugger-datum-zeit-aendern.html)

franktron 19. Dez 2017 13:37

Debugger Datum Zeit ändern
 
Kann man im Debugger irgendwie das Datum und die Zeit ändern (Also die Ausgabe von Date und Now)

Uwe Raabe 19. Dez 2017 13:43

AW: Debugger Datum Zeit ändern
 
Ich vermute mal, das geht nicht, da hier ja das Betriebssystem abgefragt wird. Aber man kann das ganze Programm unter falschem Datum und Uhrzeit laufen lassen:

How can I run a Delphi Win32 application with a specific local time?

himitsu 19. Dez 2017 13:48

AW: Debugger Datum Zeit ändern
 
Grundsätzlich erstmal nein.

Über die OpenToolsAPI könntest du beim Start/Ende des Debuggings die Systemzeit ändern,
aber das wäre ungünstig.

Du kannst im Programm auf MSDN-Library durchsuchenIsDebuggerPresent prüfen und dann eine eindere Zeit verwenden.

Oder du mußt im Programm die Datumsfunktionen "hooken". (auch mit IsDebuggerPresent prüfen und nur dann den Hook aktivieren)
* Direkt die beiden gewünschten Funktionen (Date/Now)
* oder MSDN-Library durchsuchenGetLocalTime, welches die beiden Delphifunktionen verwenden
> aber was ist mit dem Datum/Uhrzeit aus anderen APIs? (das wäre dann unverändert)


[edit]
Lässt sich dieses Programm per Komandozeile benutzen, dann kannst du es als Host-Anwendung für deine Anwendung benutzen.
Aber ob du dann dein Programm noch debuggen kannst ... ich weiß nicht, da es ein "neuer" Prozess wird.

Menü > Start > Parameter... >
> Host-Anwendung = die RunAsDate.exe
> Parameter = hier mußt deine EXE rein
> Arbeitsverzeichnis = hier auch das Verzeichnis deiner EXE

freimatz 19. Dez 2017 13:55

AW: Debugger Datum Zeit ändern
 
Hallo,
ich habe da mal statt die Funktionen direkt zu verwenden einen Service geschrieben mit interface. Diesen Service konnte man dann beauftragen nicht das System zu fragen sondern eine gegebene Zeit zu liefern.
Sowas erleichtert auch enorm unit-tests.

hoika 20. Dez 2017 07:06

AW: Debugger Datum Zeit ändern
 
Hallo,
ich würde da einfach eigene Methoden benutzen,
die dann sogar in einer separaten Datei nachsehen, welches Datum/Uhrzeit zurückgegeben werden soll.

Uwe Raabe 20. Dez 2017 10:16

AW: Debugger Datum Zeit ändern
 
Zitat:

Zitat von hoika (Beitrag 1389313)
Hallo,
ich würde da einfach eigene Methoden benutzen,
die dann sogar in einer separaten Datei nachsehen, welches Datum/Uhrzeit zurückgegeben werden soll.

Das geht aber auch nur, wenn du sämtliche Date-, Time- und Now-Aufrufe (ganz zu schweigen von den direkten System-Calls) unter deiner Kontrolle hast. Gerade bei 3rd-Party Bibliotheken oder Windows-Controls (z.B. TMonthCalender) ist das aber in der Regel nicht der Fall.

Luckie 20. Dez 2017 23:20

AW: Debugger Datum Zeit ändern
 
Ich stelle hier einfach mal die Frage: Warum willst du das tun?

Der schöne Günther 21. Dez 2017 06:37

AW: Debugger Datum Zeit ändern
 
Der von Uwe verlinkte Beitrag bringt eigentlich schon zwei Beispiele: Fehlverhalten bei Datumswechsel sowie Sommer/Winterzeit-Umstellung.

franktron 21. Dez 2017 08:17

AW: Debugger Datum Zeit ändern
 
Zitat:

Zitat von Luckie (Beitrag 1389375)
Ich stelle hier einfach mal die Frage: Warum willst du das tun?

Ich will Jahreswechsel Routinen Testen

freimatz 21. Dez 2017 10:06

AW: Debugger Datum Zeit ändern
 
Habe gerade noch gefunden: https://www.heise.de/download/product/runasdate-69076


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 Uhr.
Seite 1 von 2  1 2      

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