精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Windows API函数>>忘了FormatMessage吧!

主题:忘了FormatMessage吧!
发信人: bird_lee@GZ()
整理人: teleme(2001-01-18 16:47:06), 站内信件

标  题: 忘了FormatMessage吧!
发信站: 网易虚拟社区 (Mon Jul 24 18:42:58 2000), 站内信件


在Windows API帮助里我们常看到这几句话。

If the function succeeds, the return value is nonzero. 
If the function fails, the return value is zero. 
To get extended error information, call GetLastError.

Microsoft认为对第一个API返回所有可能的错误代码是效率代下的,所以他们写
了一个独立的API-GetLastError来返回错误代码。但是当你使用GetLastError时
,返回的只是一些数字,你当然不希望发生错误时返回只是一些数字,Microsof
t还是一个独立的API-FormatMessage来把这些数字转换成文字。但是这一个函数
并不是那么好掌握的。
在DELPHI中有一个函数SysErrorMessage把FormatMessage很好的封装起来,
例如
ShowMessage(SysErrorMessage(GetLastError));
简单,方便。
但是你要记住,当发生错误时要马上GetLastError,因为当你调用另一个API时,
它的值马上后改变。

--
Delphi Fans
http://delfan.yeah.net
Delphi Fans,技巧集(太多了),控件,源码

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.101.113.205]

[关闭][返回]