获取GetLastError返复书息
//错误处理惩罚,显示原因
void __fastcall TSerialPort::ProcessErrorMessage(char* ErrorText)
{
char ErrorMsg[400];
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER| //自动分派动静缓冲区
FORMAT_MESSAGE_FROM_SYSTEM, //从系统获取信息
NULL,GetLastError(), //获取错误信息标识
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),//利用系统缺省语言
(LPTSTR)&lpMsgBuf, //动静缓冲区
0,
NULL);
sprintf(ErrorMsg, ""%s" 由于以下错误而失败: %s",ErrorText,lpMsgBuf);
Application->MessageBox(ErrorMsg, "错误", MB_ICONSTOP);//弹堕落误提示框
LocalFree(lpMsgBuf);
}