【发布时间】:2012-12-20 12:59:53
【问题描述】:
我在这里有一个程序在 Delphi 3 中运行良好,我在 Turbo Delphi 2006 上编译和测试并发现了一个问题。问题是这样的:我使用“基本”数据类型作为某些东西的索引。它在 Delphi 3 中工作,但我发现值比它们在 Turbo Delphi 2006 编译版本中的值要大大约 128-256 左右,具体取决于具体数据。将这些数据类型更改为“longint”解决了问题,因此程序可以在两个编译器上正常工作。
问题:为什么会这样?
我的理解是 Cardinal 数据类型只是典型的无符号整数数据。这与它们在本程序中的应用是一致的,特别是Delphi 3 编译正确的事实证明了这一点。那么为什么 Turbo Delphi 2006 编译不起作用呢?
【问题讨论】:
-
没有代码很难提供帮助
-
问题已解决,因此没有真正的问题需要代码提供帮助。我只是想知道为什么我观察我所做的事情。我相信答案如下。
标签: delphi delphi-2006 delphi-3