请教各位网友,问个API中出错代码的查找:(20分)

  • 主题发起人 主题发起人 netbug
  • 开始时间 开始时间
N

netbug

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Delphi用有关socket中的API时,发现不能有错误产生,当此错误是数字型的,<br>请看:<br>&nbsp; h:=findwindow(nil,'edit5');<br>&nbsp; m:=WSAAsyncSelect(sk,h,123,FD_ACCEPT);<br>&nbsp; i:=WSAGetLastError();<br>&nbsp; edit6.Text:=inttostr(m);<br>&nbsp; edit7.Text:=inttostr(i);<br>我想知道此错误到底是由什么引起的,我该如何做呢?<br>(我不止此处的i:=WSAGetLastError()是否用错,请指正)<br>谢谢。
 
var<br>&nbsp; ErrCode: Integer;<br>&nbsp; ErrMsg: Pointer;<br>begin<br>&nbsp; ErrCode := GetLastError;<br>&nbsp; FormatMessage (<br>&nbsp; &nbsp; FORMAT_MESSAGE_ALLOCATE_BUFFER or<br>&nbsp; &nbsp; FORMAT_MESSAGE_FROM_SYSTEM or<br>&nbsp; &nbsp; FORMAT_MESSAGE_IGNORE_INSERTS,<br>&nbsp; &nbsp; nil,<br>&nbsp; &nbsp; ErrCode,<br>&nbsp; &nbsp; 0,<br>&nbsp; &nbsp; @ErrMsg,<br>&nbsp; &nbsp; 0,<br>&nbsp; &nbsp; nil);<br>&nbsp; ShowMessage (StrPas (ErrMsg));<br>&nbsp; LocalFree (Cardinal (ErrMsg));<br>end;<br>
 
可以用<br>ErrCode:=WSAGetLastError;
 
SysErrorMessage(GetLastError())
 
可是我的错误代码是10022,请看:<br>i:integer;<br>s:string;<br>begin<br>&nbsp;i:=10022;<br>&nbsp;s:=syserrormessage(i);<br>&nbsp;edit1.text:=s;<br>end;<br>此错误代码不能通过syserrormessage显示出来,请问:我该如何做呢?<br>
 
没问题啊
 
10022是SOCKET的自定的错误码,要显示信息的话必须用GetLastError();得<br>到系统的错误码,还是用我上面写的那一行试试<br>SysErrorMessage(GetLastError())
 
接受答案了.
 
后退
顶部