Delphi Xe. 델파이 도움말GetLastError 값을 재설정하십시오.
는 :
방법 0에서 현재의 에러를 재설정 "... 호출이 기능은 일반적으로 운영 체제 오류 상태를 ... 재설정"? 나는. GetLastError = 0예 그 : 그것은 실제로는 Win32 호출입니다
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
- GetLastError를 호출 할 때 실질적인 제한은 없습니다. GetLastError는 결정 론적 함수입니다. –
@Downvoter 아마도 나는 명확하지 않았지만 GetLastError로 진행되는 마법이 있다고 말하지는 않았습니다. 내가 말한 것은 a) 일부 기능은 성공시 오류를 다시 설정하는 기능이었고 일부 기능은 성공하지 못했지만 (100 % 사실이며 사실 * 당신이 바로 그 점을 확인한 것입니다) b) 묻고 싶은 좋은 이유가 없습니다. 함수가 오류를보고하지 않는 한 마지막 오류. 이 방법의 요점은 "오류가 발생 했습니까?"입니다. "마지막 API 호출이 오류를 반환 한 이유는 무엇입니까?" OP 질문을 감안할 때, 나는 그것들이 타당하고 관련이 있다고 생각합니다. – dlev
@Downvoter, 요점은 * 오류가 있다는 말을 듣지 않았다면 GetLastError를 호출해서는 안됩니다. * 오류가 있는지 여부를 감지하는 데 사용하지 마십시오. 즉, 구의 의도 된 유스 케이스에는 결함이 있습니다. 실제로 오류가없는 경우에도 GetLastError가 0을 반환한다는 보장은 없습니다. –