注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

Delphi SysErrorMessage 函数和系统错误信息表  

2014-03-22 01:29:06|  分类: delphi xe5 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

由于文件大:见原文http://www.cnblogs.com/del/archive/2008/11/07/1328751.html

在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.

但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?

FormatMessage 可以, 但这个函数太复杂了; 可以用 SysErrorMessage 代替它.

举例:


var
  err: string;
begin
  err := SysErrorMessage(ERROR_INVALID_HANDLE);
  ShowMessage(err); {句柄无效。}
end;
 
下面就是用 SysErrorMessage 获取的部分系统错误信息表:

信息常数常数值对应信息
ERROR_SUCCESS0操作成功完成。
NO_ERROR0操作成功完成。
ERROR_INVALID_FUNCTION1函数不正确。
ERROR_FILE_NOT_FOUND2系统找不到指定的文件。
ERROR_PATH_NOT_FOUND3系统找不到指定的路径。
ERROR_TOO_MANY_OPEN_FILES4系统无法打开文件。
ERROR_ACCESS_DENIED5拒绝访问。
ERROR_INVALID_HANDLE6句柄无效。
ERROR_ARENA_TRASHED7存储控制块被损坏。
ERROR_NOT_ENOUGH_MEMORY8存储空间不足,无法处理此命令。
ERROR_INVALID_BLOCK9存储控制块地址无效。
ERROR_BAD_ENVIRONMENT10环境不正确。
ERROR_BAD_FORMAT11试图加载格式不正确的程序。
ERROR_INVALID_ACCESS12访问码无效。
 
以上信息不全, 下面代码可以获取更多系统信息:

var
  i: Integer;
  msg: string;
begin
  for i := 0 to 14080 do
  begin
    msg := SysErrorMessage(i);
    if msg <> '' then Memo1.Lines.Add(Format('%d: %s', [i,msg]));
  end;
end
  评论这张
 
阅读(73)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017