=============================================================
标题:关于WinCE Release版本程序SetLocalTime失败问题
备注:wince6 + vs2005
日期:2011.6.14
姓名:朱铭雷
=============================================================
这段代码在Debug版本下没有什么问题,能够成功设置时间。但在Release版本时,就会出问题。刚开始以为是其他地方出了问题,后来发现是SetLocalTime调用失败,通过GetLastError返回错误代码是87,代表是参数无效。后来设个断点,发现smSetTime的毫秒成员wMilliseconds的值是个5位数了,参数无效也就说的是它了。
把wMilliseconds赋值为0,则SetLocalTime调用成功了。其实如果保持一个良好的编程习惯,在变量定义的时候就初始化一下,这个问题就可以避免了。
Release版本的程序比Debug版本要求的确严格很多。
WinCE Release版本SetLocalTime失败解决
在WinCE Release版本中,一个未初始化的SYSTEMTIME结构导致SetLocalTime调用失败,错误代码87表示参数无效。问题出在wMilliseconds字段,将其赋值为0后,调用成功。良好的编程习惯,如初始化变量,可以避免此类问题。
3831

被折叠的 条评论
为什么被折叠?



