我该怎么办打印机的Gremlin?

时间:2011-10-14 23:01:18

标签: delphi error-handling indexoutofboundsexception

用户在我的程序启动时报告异常终止。堆栈跟踪是:

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

我之前从未见过这个问题,也没有其他用户曾向我报告这个问题,我的用户说到目前为止,这是他唯一一次这样做。

我的计划中的第18行只是Application.Run中我.dpr语句中的Classes语句。

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

中的错误语句
{{1}}

表示某些列表索引超出范围。但我无法从中得知可能导致它的原因。

我的用户是另一位程序员,他说他认为这就是所谓的“打印机的gremlin”。

有谁知道打印机的gremlin是什么,这是否是我应该关注的事情,如果有的话,我该如何解决?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

术语“Gremlin”可以追溯到第二次世界大战,Gremlins在大多数技术领域都被指责为问题 - 特别是当飞机没有任何原因坠毁或发动机突然停止工作时(“我们把Gremlins放进去! “)。

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

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