https://jingyan.baidu.com/article/375c8e1997252e25f2a22936.html
错误原因:dll的版本与应用程序不一致,比如64bit程序调用了32位的dll。
若是大型游戏报这个错,很可能就是DX引起的,下载directx修复工具修复下应该可以解决。若程序是用VC开发的,那么很可能是exe目录下缺少VC对应的开发环境库。比如用vs2010开发的MFC程序,发布Release需要带上以下库:
mfc100.dll
mfc100u.dll
msvcp100.dll
msvcr100.dll
msvcr100_clr0400.dll
2.作为开发人员,在开发完模块后一定要做一个完整的测试再提交,切勿认为情况类似就不去测试了,若想快速测试下,就必须根据代码流程完整模拟。
(1)比如软件分为单机版sqlite和网络版sqlServer,在网络版上完成下面脚本和功能后(当时脚本是分开刷的),然后拿单机版测试通过,就提交了,结果被他人测试网络版不通过,发现sqlserver的添加属性列和修改新字段值不能同时执行,必须分开,而sqlserver是可以的。
ALTER TABLE EDLCLIPRELATION ADD resType INT;
ALTER TABLE EDLCLIPRELATION ADD resRefType INT;
ALTER TABLE EDLCLIPRELATION ADD dwSpecialFlag INT;
UPDATE EDLCLIPRELATION SET resType = 2,resRefType = 1,dwSpecialFlag = 0;
(2)sqlserver获取当前时间到ms:Select CONVERT(varchar(100), GETDATE(), 121)
sqlite获取当前时间到ms:select strftime('%Y-%m-%d %H:%M:%f','now','localtime')
我在把网管日志的时间精度改为ms后,又是只测了网络版,而没测单机版,只是把sql语句都粘贴到视图器中测试ok,可没想到切换单机版又报错,
因为源码的封装中拿的时的COleDateTime。Parse(),带了毫秒这个函数是失败的。看来每次改完功能、做完模块必须单机网络都走一遍,不能偷懒。
热门工具 换一换