调用DLL时犯了一个愚蠢的错误

昨天陈春华朋友给我写信,说他下载了我的Sqlite Developer,结果安装后无法运行,报无法加载ParserDLL.dll错误,我当时觉得很奇怪,因为我测试了一下在我的开发机器XP上没有问题,经询问才知道他的操作系统是Windows2000。今天我在Windows2000上重现了这个错误,仔细Review了一下代码,发现显式引用DLL的地方是这样写的。

const
//Fix can not load ParserDll.dll on windows 2000 system
ParserDll='ParserDll';

其中DLL扩展名没有写,这样的调用在XP系统上是正确的,但是在Windows2000系统上就会失败。

改成
const
//Fix can not load ParserDll.dll on windows 2000 system
ParserDll='ParserDll.dll';

就OK了,真是郁闷呀,犯了这么一个低级错误。