Delphi 7 IDE - 列表读取访问中索引越界

发布于 2024-11-16 20:05:57 字数 284 浏览 3 评论 0原文

我的一个 Delphi 项目在关闭 IDE 时会产生此错误消息。

注意 这与“列表索引超出范围(0)”错误不同。

在此处输入图像描述

然后它总是显示另一个错误:“无效的指针操作”

在此处输入图像描述

我有什么想法可以找到它的来源吗?

One of my delphi projects produces this error message when closing the IDE.

Note This is not the same as 'List Index out of bounds(0)' error.

enter image description here

Then it always shows another error: 'Invalid Pointer Operation'

enter image description here

Any ideas how i could locate where it is coming from?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心头的小情儿 2024-11-23 20:05:57

听起来要么像 IDE bug,要么(更有可能)像组件中的 bug。

修复并加速 IDE

安装最新的官方 IDE 修补程序(我猜Delphi 7最新更新是7.1)。

下载并安装 DelphiSpeedUp 3.1

它可能会解决一些问题,并且实际上会让您的 IDE 更快。值得尝试一下。

组件问题

您能否卸载所有已安装的第三方组件?

然后一一重新安装自定义软件包,检查哪一个触发了错误。

某些第三方组件的 IDE 编辑器部分可能在 IDE 关闭时出现某些错误。

Sounds either like an IDE bug, or (more likely) like a bug in a component.

Fix and speedup the IDE

Install the latest official IDE hotfix (I guess Delphi 7 latest update is 7.1).

Download and install DelphiSpeedUp 3.1.

It may fix some issues, and will in fact make your IDE faster. Worth trying it.

Component issue

Could you uninstall all installed third-party components?

Then reinstall your custom packages one by one, checking which one triggers the error.

It's possible that some bug in the IDE editor part of some third-party component occurs at IDE closing.

┈┾☆殇 2024-11-23 20:05:57

尝试在 Delphi IDE 自己的调试器中运行(菜单 RunLoad Process,然后选择 IDE 可执行文件 - 在您的情况下为 delphi32.exe)。然后用这个项目重现问题。您可能会得到问题所在的提示。

Try running the Delphi IDE in its own debugger (menu Run, Load Process, then choose the the IDE executable - delphi32.exe in your case). Then reproduce the problem with this project. You might get a hint where the problem is located.

虚拟世界 2024-11-23 20:05:57

“无效的指针操作”意味着你释放了不属于你的内存。这三件事之一就是原因:

  • 您的程序释放了以前已经释放过一次的东西。
  • 你的程序释放了一些最初从未分配过的东西。
  • 您的程序释放了使用不同内存管理器分配的内容。

"Invalid pointer operation" means you freed memory that didn't belong to you. One of these three things is the cause:

  • Your program freed something that had already been freed once before.
  • Your program freed something that was never allocated in the first place.
  • Your program freed something that had been allocated with a different memory manager.
捂风挽笑 2024-11-23 20:05:57

您可以安装madExcept。然后它显示有关异常的详细信息(调用堆栈等),您也许能够找到起源。

You can install madExcept. Then it shows detailed information (callstack and more) about the exception and you might be able to locate the origin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文