Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

WinApi-Aufruf geht in "Release"-Fassung problemlos, bei "Debug" spuckt er Fehler

  Alt 17. Sep 2020, 20:51
Ich rufe die Windows-Routinen PowerCreateRequest und PowerSetRequest auf.

Lasse ich meine Anwendung als "Release" laufen, funktioniert alles wie gehabt. In "Debug" hingegen wirft mir die WinApi-Routine PowerSetRequest einen System Error 50 - The request is not supported um die Ohren.

Wenn ich in der "Debug-Fassung" die Optimierungen einschalte, dann ist in der Debug-Fassung der Fehler auch weg.

Ich habe absolut keine Ahnung was das verursacht, wo ich ansetzen muss damit es auch in Debug vernünftig läuft. FastMM meldet keine Speicherfehler, Bereichsüberschreitungen gibt es auch keine. Mein Verdacht ist der variante Record welcher per Zeiger übergeben wird, aber beweisen kann ich es nicht.

Kompletter Quellcode im Anhang.

Das Problem tritt sowohl bei Delphi 10.0 Seattle, als auch bei 10.4 Sydney auf. Ich konnte nur Win32 testen, Win64 nicht.
Angehängte Dateien
Dateityp: pas PowerRequest.pas (2,8 KB, 13x aufgerufen)
Dateityp: pas PowerRequest.Types.pas (1,1 KB, 12x aufgerufen)
Dateityp: dpr PowerRequestsProject.dpr (435 Bytes, 10x aufgerufen)

Geändert von Der schöne Günther (17. Sep 2020 um 21:00 Uhr) Grund: Delphi-Version erwähnt
  Mit Zitat antworten Zitat