重置GetLastError值

Gu.*_*u. 3 delphi winapi

德尔福Xe.

在delphi中帮助:"...调用此函数通常会重置操作系统错误状态......"

如何在0上重置当前错误?即GetLastError = 0

例:

Try
// There is an error
except
showmessage(inttostr(getlasterror)); // Ok, getlasterror<>0
end;
....
// no errors
....
// How to reset a current error on 0?
showmessage(inttostr(getlasterror)); // Again will be <> 0
Run Code Online (Sandbox Code Playgroud)

dle*_*lev 6

您应该只GetLastError 在出现错误时进行呼叫.某些Windows API函数会在成功时将错误重置为0,有些则不会.无论哪种方式,只有在需要知道最新错误时才应询问错误状态.

请注意,还有一种SetLastError方法,但这对您没有帮助; 如果将最后一个错误设置为0,那么当然GetLastError会返回0.


pau*_*sm4 5

它实际上是Win32调用(本身不是Delphi)。

您可以使用“ SetLastError()”清除它。

这是MSDN文档:

http://msdn.microsoft.com/zh-cn/library/ms679360%28v=vs.85%29.aspx