Einzelnen Beitrag anzeigen

Der schöne Günther

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

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

  Alt 17. Sep 2020, 21: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, 8x aufgerufen)
Dateityp: pas PowerRequest.Types.pas (1,1 KB, 7x aufgerufen)
Dateityp: dpr PowerRequestsProject.dpr (435 Bytes, 6x aufgerufen)

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