1

当我的程序启动时,一位用户报告了异常结束。堆栈跟踪是:

Loc 1:  Classes.Get (3368, 2)
Loc 2:  Behold (58, 18)

我以前从未观察到这个问题,也没有其他用户向我报告过这个问题,我的用户说到目前为止,这是他唯一一次遇到这个问题。

我的程序中的第 18 行只是我在for my programApplication.Run中的语句。.dpr

第 3368 行Classes是错误语句:

function TList.Get(Index: Integer): Pointer;
begin
  if (Index < 0) or (Index >= FCount) then
    Error(@SListIndexError, Index);
  Result := FList^[Index];
end; 

这表明某些列表索引超出范围。但我不能从中看出可能是什么原因造成的。

我的用户是另一位程序员,他说他认为这是一种叫做“打印机的小精灵”的东西。

有谁知道打印机的 gremlin 是什么,这是否是我应该关注的问题,如果是,我将如何解决这个问题?

4

2 回答 2

0

由于另一个用户是程序员,我们可以忽略与打印机相关的一些基本内容,例如 Windows 上没有定义打印机?

或者由于某种原因打印机列表以某种方式损坏(例如病毒感染)?你们两个可以尝试重新创建打印机,看看东西是否消失了。

我有这些类型的 IOB 错误只是因为打印机驱动程序安装损坏。

于 2011-10-14T23:20:12.183 回答
0

“Gremlin”这个词可以追溯到第二次世界大战,Gremlins 被归咎于大部分技术领域的问题 - 特别是当飞机无故坠毁或发动机突然停止工作时(“The've put the Gremlin in!”)。

对我来说,这个名字听起来像是“德国妖精”的缩写,但这只是我个人的解释。

毕竟,这不是你应该关心的。错误的实际原因可能是其他原因。

于 2011-10-15T09:04:55.740 回答