C++ Builder Snippets  

Windows-Fehlermeldungen zu den GetLastError()-Codes im Klartext auslesen:
 
Veile Windows API-Funktionen liefern beim Auftreten von Fehlern Errorcodes, die mit Hilfe der Funktion GetLastError() ausgelesen werden können. Um die dazugehörige Fehlerbeschreibung im Klartext zu ermitteln wird die API-Funktion FormatMessage() verwendet.

Die Funktion GetSystemErrorMessage() liefert die Klartext-Fehlermeldung zum zuletzt aufgetretenen Fehler als AnsiString zurück. Ein Anwendungsbeispiel für GetSystemErrorMessage() finden Sie im Projektquellcode zum Snippet Netzwerklaufwerke verbinden und trennen.

//---------------------------------------------------------------------------
// Windows-Fehlermeldungen zu den GetLastError()-Codes im Klartext auslesen
//---------------------------------------------------------------------------
AnsiString GetSystemErrorMessage(void)
{
  LPVOID lpMsgBuf; // Zeiger auf Message-Buffer

  // Fehlermeldung auslesen und in lpMsgBuf schreiben:
  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
    NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
    (LPTSTR) &lpMsgBuf, 0, NULL);
  AnsiString slBuffer = (char *)lpMsgBuf;    // in AnsiString konvertieren
  LocalFree(lpMsgBuf);                       // Buffer freigeben
  return slBuffer;                           // Meldung zurückgeben
}



© '99-2001 by S. Kreutzmann