delphi
ShowMessage(SysErrorMessage(GetLastError));
Y en Builder C++ :
cpp
ShowMessage(SysErrorMessage(GetLastError()));
Saludos.
Escrito 28 febrero 2012 - 03:20
ShowMessage(SysErrorMessage(GetLastError));
ShowMessage(SysErrorMessage(GetLastError()));
Escrito 28 febrero 2012 - 03:25
Escrito 28 febrero 2012 - 04:34
Escrito 28 febrero 2012 - 04:50
Escrito 28 febrero 2012 - 05:37
Para ilustrar un poco mas el truco, he desarrollado un ejemplo usando sólo la API, de esta forma se puede ver como funciona a bajo nivel. El asunto de encontrar la cadena asociada a un código de error.
Muestro dos ejemplos en C/C++ y Delphi:
void ShowMessageError(HWND hWnd, char* Title) { char *pBuffer; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, GetLastError(), 0, (char*)&pBuffer, 0, NULL); MessageBox(hWnd, pBuffer, Title, MB_OK); LocalFree(pBuffer); }
procedure ShowMessageError(hWin: HWND; Title: PCHAR); var pBuffer: pointer; begin FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_ALLOCATE_BUFFER, nil, GetLastError, 0, @pBuffer, 0, nil ); MessageBox(hWin, pBuffer, Title, MB_OK); LocalFree(Cardinal(pBuffer)); end;
Ejemplo de uso para ambos lenguajes:
ShowMessageError(Handle, 0);
Saludos.
Escrito 29 febrero 2012 - 09:44