1、做的软件在xp电脑上一切正常,不存在这个list index out of bounds(0)错误。
2、后来出来win7或visa系统,同样的程序大部分电脑装的没有这个错误,少部分有这个错误,但是有个奇怪的现象,就是如果出现这个错误,你装上搜狗输入法即可解决,这是客户反应的,后来在我以后的遇到这个问题,这个办法确实可以解决。这是我纳闷的一个地方,
3、接着现在出来win8,还是这样,少部分电脑装我的软件出现这个问题,但是用装输入法的问题也解决不了。甚是奇怪了。
A、如果说软件的问题,那应该每个电脑都应该有这个问题,偏偏少部分有,而且装输入法可以解决,这和输入法有什么关系,我都奇怪了。现在win8用同样的办法解决不了,我们办公室的电脑我都给他装个遍,也没见客户的这个错误,没办法调试具体问题在哪里,所以说这个问题只能求助于大家,看有什么解决的办法没?
B、这个错误按照常识应该是越界的问题,但是那个窗口唯一有个可以怀疑的地方就是用pagecontrol控件,但是我把它所在窗口的功能有关这个控件的去掉了,给客户试试还是一样。其它没有任何用到可以引起越界的代码或控件了。
C、后来发现win8的电脑出来这个 错误 后,接着会提示没有发现数据的那个字段的提示,我怀疑是不是用了
adoquer.fieldbyname('字段名').asstring =这样的问题导致的,但是思来想去都是纳闷,那为什么有的用这个窗口没有这个提示,会不会用数据库字段太多的问题、甚是奇怪。
11 个解决方案
#1
在delphi IDE本身的libary path那里添加项的时候都尝尝遇到蹦出这个list index out of bounds(0)
#2
没法重现的问题确实不好调,从你描述的现象看,装了输入法可以解决,会不会是你设了控件的默认输入法导致的,IMEName这个属性,到dfm中搜出来清掉试试
#3
DFM这个属性,在窗口启动的时候就根据用户设定的输入法设定的,如果没有就清空,不过你说的也有点道理,我再找个客户试试,有结果了再回话
#4
根据你说的现象,我认为有两种可能,一种是上面说的一种现象,还有一种是系统默认字库的事。
#5
这种问题不好找
要跟踪客户的操作,询问客户出现这个问题有无规律?
比如说:是不是每次都是做了哪个操作或是点了某个按钮就出错?
或者说,这种问题是无规律的随机出现?
当客户出现问题时马上远程查看,想办法使问题重现,自己找规律.
然后再根据这个规律检查对应的代码块
要跟踪客户的操作,询问客户出现这个问题有无规律?
比如说:是不是每次都是做了哪个操作或是点了某个按钮就出错?
或者说,这种问题是无规律的随机出现?
当客户出现问题时马上远程查看,想办法使问题重现,自己找规律.
然后再根据这个规律检查对应的代码块
#6
遇到这个情况通常是数据组越界了,象你所说的,装输入法就行,还真的没碰过,关注...[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/31.gif][/img
#7
这种问题很常见的。就是winxp下正常,win7下报这个错误。
我遇到最多就是TComboBoxEx控件,初始化第几项为当前项的时候,就报这个错。自己代码处理下就OK了,很容易的。
估计应该TComboboxEx这个控件用到的地方,初始化当前行报错吧。
我遇到最多就是TComboBoxEx控件,初始化第几项为当前项的时候,就报这个错。自己代码处理下就OK了,很容易的。
估计应该TComboboxEx这个控件用到的地方,初始化当前行报错吧。
#8
这类问题应该要先定位到出错的地方,然后看有可能是由什么引起的。
#9
2,3,4楼说的问题靠谱,软件有系统输入法设置的地方,让客户去选择输入法的时候,是空白。
然后窗口创建的时候有这个代码
edit1.ImeMode:=ImOpen;
edit1.ImeName:= Fdm.Psysint.ReadString('GXsrf','GXsrf1',Screen.Imes.Strings[0]);很大可能就是这个问题造成的。
然后窗口创建的时候有这个代码
edit1.ImeMode:=ImOpen;
edit1.ImeName:= Fdm.Psysint.ReadString('GXsrf','GXsrf1',Screen.Imes.Strings[0]);很大可能就是这个问题造成的。
#10
win8系统在网上搜索下输入法,大量篇幅就是说win8的输入法存在问题
#11
问题的答案还在找寻中,要找客户实验,不过谢谢大家的回复,结贴
#1
在delphi IDE本身的libary path那里添加项的时候都尝尝遇到蹦出这个list index out of bounds(0)
#2
没法重现的问题确实不好调,从你描述的现象看,装了输入法可以解决,会不会是你设了控件的默认输入法导致的,IMEName这个属性,到dfm中搜出来清掉试试
#3
DFM这个属性,在窗口启动的时候就根据用户设定的输入法设定的,如果没有就清空,不过你说的也有点道理,我再找个客户试试,有结果了再回话
#4
根据你说的现象,我认为有两种可能,一种是上面说的一种现象,还有一种是系统默认字库的事。
#5
这种问题不好找
要跟踪客户的操作,询问客户出现这个问题有无规律?
比如说:是不是每次都是做了哪个操作或是点了某个按钮就出错?
或者说,这种问题是无规律的随机出现?
当客户出现问题时马上远程查看,想办法使问题重现,自己找规律.
然后再根据这个规律检查对应的代码块
要跟踪客户的操作,询问客户出现这个问题有无规律?
比如说:是不是每次都是做了哪个操作或是点了某个按钮就出错?
或者说,这种问题是无规律的随机出现?
当客户出现问题时马上远程查看,想办法使问题重现,自己找规律.
然后再根据这个规律检查对应的代码块
#6
遇到这个情况通常是数据组越界了,象你所说的,装输入法就行,还真的没碰过,关注...[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/31.gif][/img
#7
这种问题很常见的。就是winxp下正常,win7下报这个错误。
我遇到最多就是TComboBoxEx控件,初始化第几项为当前项的时候,就报这个错。自己代码处理下就OK了,很容易的。
估计应该TComboboxEx这个控件用到的地方,初始化当前行报错吧。
我遇到最多就是TComboBoxEx控件,初始化第几项为当前项的时候,就报这个错。自己代码处理下就OK了,很容易的。
估计应该TComboboxEx这个控件用到的地方,初始化当前行报错吧。
#8
这类问题应该要先定位到出错的地方,然后看有可能是由什么引起的。
#9
2,3,4楼说的问题靠谱,软件有系统输入法设置的地方,让客户去选择输入法的时候,是空白。
然后窗口创建的时候有这个代码
edit1.ImeMode:=ImOpen;
edit1.ImeName:= Fdm.Psysint.ReadString('GXsrf','GXsrf1',Screen.Imes.Strings[0]);很大可能就是这个问题造成的。
然后窗口创建的时候有这个代码
edit1.ImeMode:=ImOpen;
edit1.ImeName:= Fdm.Psysint.ReadString('GXsrf','GXsrf1',Screen.Imes.Strings[0]);很大可能就是这个问题造成的。
#10
win8系统在网上搜索下输入法,大量篇幅就是说win8的输入法存在问题
#11
问题的答案还在找寻中,要找客户实验,不过谢谢大家的回复,结贴