我在Windows XP上使用Delphi 7进行编程。该程序的这一部分是为opendialog
定义一个标题,我有一个非常奇怪的问题。
带错误的代码如下
od_cap := 'Select data set ' + intToStr(n_data_sets);
其中od_cap
是一个字符串,n_data_sets
是一个整数。出现的错误是EAccessViolation at address 0040459a
...我已将问题缩小到由inttostr
转换引起的问题,因为当我od_cap := inttostr(2)
时它仍会崩溃。更奇怪的是,第一次计算这一行时,它会起作用,但每次都会第二次崩溃。
我无法想到为什么会这样,我没有足够的经验知道任何可能导致这种情况的错误。我认为这是您需要的所有信息,但可以随意提出更多信息。
答案 0 :(得分:1)
IntToStr()
在转换期间不会引发AV。更可能发生的是od_cap
变量不是有效的String
变量,例如它是否是已释放的对象的成员,因此在分配给它时会发生AV。 / p>