Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi [Korrektur] Das Handle eines Fensters herausfinden (https://www.delphipraxis.net/142346-%5Bkorrektur%5D-das-handle-eines-fensters-herausfinden.html)

Tryer 26. Okt 2009 20:37


[Korrektur] Das Handle eines Fensters herausfinden
 
Da ich keinen besseren Ort gefunden habe hier eine kleine Korrektur zum Thread Das Handle eines Fensters herausfinden. Bitte nach Bearbeitung löschen/verschieben.

Wie an unzähligen anderen Stellen (sei es die Demokomponente TShellTreeView oder diverse C- oder Delphi-Quelltexte die man im Internet findet) wurde INVALID_HANDLE_VALUE mit ERROR_INVALID_HANDLE vertauscht. Wie mir scheint ein "Standart Fehler" :-D

ERROR_INVALID_HANDLE wird von GetLastError geliefert, wenn man einer Funktion wie GetFileInformationByHandle() ein ungültiges Handle übergibt. Es beschreibt also den Grund für den Fehlschlag. (Result = 0, GetLastError = ERROR_INVALID_HANDLE). Die Funktion braucht ein Handle und liefert bei Erfolg eine zugehörige Datenstruktur zurück.

INVALID_HANDLE_VALUE wird als wie der Name schon sagt fehlerhaftes(ungültiges) Handle zurückgegeben wenn eine Funktion wie CreateToolHelp32Snapshot() fehlschlägt, d.h. wenn sie kein gültiges Handle zurückgibt. GetLastError liefert dann einen Grund dafür dass kein Handle geliefert werden konnte (ERROR_LUNCH_HOUR..).
Der Wert ERROR_INVALID_HANDLE könnte durchaus solch ein gültiges Handle sein welcher verarbeitet werden kann und mit CloseHandle() geschlossen werden muss!

Der Fehler tritt leider selten auf da die Funktionsaufrufe bei sauberer Programmierung ja meist erfolgreich sind.

Grüsse, Dirk


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 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