SetProfileString的问题,有时有反应,有时又没有。
问题:我的程序中要在ini文件中保存一个图片文件的路径,如c:\mypicture...这样,结果我用SetProfileString时,发现以下问题:
如果这个路径加文件名总的长度比较短,具体要多短,我也不知道,就能够保存到,反之,如果较长,则保存不到,
用profilestring()函数的时候,也是这样,如果路径加文件名较长,则取不到,反之,就能取到。
不知道是怎么回事,希望经验丰富的人给指点一下。
问题点数:100、回复次数:8Top
1 楼jdsnhan(柳荫凉)回复于 2003-09-02 20:53:45 得分 25
不是吧,你保存profilestring()的结果是string类型的吧,也不至于越界啊!
你用profilestring()返回值是多少。
Top
2 楼thelazyman(卧虎藏龙)回复于 2003-09-02 21:23:22 得分 25
函数profilestring()返回string类型值,相信你的路径长度不会超过string类型范围!!
你可以测试一下看,路径加长时到底返回什么值!
string ls_ret
ls_ret=ProfileString(filename, section, key, default)
messagebox("ok",ls_ret)
相信不会出意外吧!Top
3 楼klbt(快乐白兔)回复于 2003-09-02 22:09:35 得分 0
不应该呀,你的Pb版本?Top
4 楼jerrymao(加菲猫--抵制倭寇和高丽棒子)回复于 2003-09-02 22:19:51 得分 25
string类型的长度最常可以到2G个字节,[pb8和pb9]所以是不可能存在你说的字段长度不够的原因的。
最有效的方式就是你step by step的debug,看在那个地方出的错。或者你写的语法就有点问题,呵呵,可能性太多,不妨你把代码贴出来,大家一起帮你找找Top
5 楼guxing(孤星)回复于 2003-09-02 22:22:12 得分 0
肯定是代码的问题,贴出来看看Top
6 楼runsoft(清风)回复于 2003-09-02 22:42:13 得分 25
可能是相对路径问题在作怪Top
7 楼winwhere(天长地久)回复于 2003-09-02 23:32:22 得分 0
经过多次测试,问题终于找出来,原来真的是路径在作怪,
是ini文件的路径在作怪,即在PB环境中我在编译后的环境中运行程序会得到不一样的结果,
在编译后,我运行一切正常。
在pb环境里,我只有选择当前目录的图片才有效。
所以,路径问题,在编译后和在pb环境里是不一样的。Top
8 楼rogery(后来者__躬自厚而薄责于人)回复于 2003-09-02 23:35:31 得分 0
唉,来晚了……
不过也学到点儿知识Top




