//錯誤處理,顯示原因
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);
}