gpt4 book ai didi

delphi - 如何解决Delphi内存不足错误?

转载 作者:行者123 更新时间:2023-12-03 15:38:59 24 4
gpt4 key购买 nike

我有一个 Delphi XE2 项目来处理大量计算。
在我的项目中,我总共有 1290 个 Edit , 340 个 Label , 330 个 Panel , 16 个数字 TabSheet 。对于每一个Edit ,有OnChange , OnDblClick , OnEnterOnExit事件。

我必须处理总共 1034 个数字 Variable 。我刚刚设计了Form并没有添加那些计算逻辑。现在我的.pas file变成62.5MB1815057行.dfm file变成1.98 MB65540 行

我正在尝试使用 Delphi XE2 编译该项目下Windows XP Professional SP3 32Bit ,但我收到错误为 **[DCC Fatal Error] Unit1.pas(1815058): F2046 Out of memory**

我还尝试使用 Delphi XE5 编译它下Windows 8 Enterprise 64Bit ,这也是,我遇到了同样的问题。

我还没有使用1034个变量添加完整的计算逻辑,如果添加的话,.pas file中至少会添加4200行 .

最佳答案

你的整个方法都是有缺陷的。编译器根本无法处理您提供的文件的大小。 180 万行的 pascal 源文件是荒谬的。 2MB .dfm 文件不切实际。

看来您已将所有可能的选项编码为单独的控件和变量。您没有手动编写代码,而是在 Excel 中使用预处理步骤编写的。

解决方案是不要在编译时扩展所有选项。解决方案是编写应用程序,以便它可以在运行时显示不同的选项。因此,如果有 30 个不同的变量,您可能创建了 30 个不同的标签控件和 30 个不同的编辑控件。正确的做法是创建一个标签和一个编辑控件。然后在运行时,根据用户的选项,更改标签的标题和编辑控件的内容。

不要为需要存储的每个可能值创建一个变量。使用数组和/或字典。

在较高层面上,您需要采用 Excel 预处理步骤中包含的逻辑并将其转换为运行时 Delphi 代码。

关于delphi - 如何解决Delphi内存不足错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19082534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com