笔者的一个三层软件,发生一个异常,有几天找不到原因。在我的计算机上编译运行正常,而实际运用时,不能运行。
结果进一步发现,该程序在WIN7系统上可行,而在XP系统上不能运行。
经过追踪,发现在不能读入配置参数。问题出现在下一语句(错误代码):
FileName := ExtractFilePath(application.ExeName) + '\IniFile\Config.ini';
实际文件名:“D:\CLIENT\\IniFile\Config.ini”。
正确代码:
FileName := ExtractFilePath(application.ExeName) + 'IniFile\Config.ini';
分析:
WIN7对目录路径具有纠错能力,具有纠错能力,将上述文件名包容为“D:\CLIENT\IniFile\Config.ini”,软件能正常读入配置参数。而XP则不然,错误的目录路径,也就不能读入配置参数,自然程序就不能运行了。 上述情况,以示同行。引起注意。
结果进一步发现,该程序在WIN7系统上可行,而在XP系统上不能运行。
经过追踪,发现在不能读入配置参数。问题出现在下一语句(错误代码):
FileName := ExtractFilePath(application.ExeName) + '\IniFile\Config.ini';
实际文件名:“D:\CLIENT\\IniFile\Config.ini”。
正确代码:
FileName := ExtractFilePath(application.ExeName) + 'IniFile\Config.ini';
分析:
WIN7对目录路径具有纠错能力,具有纠错能力,将上述文件名包容为“D:\CLIENT\IniFile\Config.ini”,软件能正常读入配置参数。而XP则不然,错误的目录路径,也就不能读入配置参数,自然程序就不能运行了。 上述情况,以示同行。引起注意。
2 楼说得很对
ExtractFilePath 是返回结尾带 \ 的
ExtractFileDir 是返回结尾不带 \ 的