在Delphi 7中打开任何项目或创建新项目时,IDE中的AV

时间:2011-03-31 13:50:10

标签: delphi

经过多年的无故障使用后,Delphi 7现在正在地址上发出访问冲突 模块'vclx70.bpl'中的40233A3E。读取地址0000021C。

启动IDE时,将显示默认的空项目和单位/表单,并编译并运行正常。

我正在开发在Windows 7(x64)上运行的Windows应用程序。

我在很多个月内没有安装任何新的软件包或工具。

我停了下来,死在水中,无法工作。

除了完整的翻录和重新安装以外的任何建议(需要花费很多时间......)

编辑:我卸载并重新安装了Delphi 7.现在我在vcl70.bpl中遇到了访问冲突。我原本以为卸载D7会完全删除它的所有库等...卸载D7后是否应该手动删除文件夹?

3 个答案:

答案 0 :(得分:4)

问题已解决(主要机器重建已避免!)

ModelMaker Tools的Gerrit Beuze在别处建议:

 Remove all .dsk (project desktop) files for the project you try to load,
 Temp remove all *.dst (desktop files) from C:\Program Files\Borland\Delphi7\Bin

执行这些步骤后,问题似乎已得到修复。

答案 1 :(得分:2)

在低位读取内存地址通常是第三方组件中的问题。但是,你说你几个月没有安装任何新东西。

另一件奇怪的事情是你在vclx70中得到了错误,这是CLX库之一。您是否正在使用CLX(剩余的跨平台 - Kylix)表单或对话框进行任何操作?

如果没有,您可以在源代码中搜索QDialogsQForms%PROGRAMFILES%\Borland\Delphi7\Source\Clx中的任何其他单元,并查看是否添加了错误的内容我打算将CLX拉入你的项目。如果是这样,请将其更改为VCL版本(只需删除源代码中单元名称前面的“Q”)。

编辑:您可能会尝试进入注册表(D7将是HKCU\Software\Borland\Delphi\7.0)并暂时将Known IDE Packages中的delphiCLXide条目的名称更改为其他名称(在名称前加上下划线或东西)。然后启动IDE。您应该收到有关Delphi无法加载程序包的错误消息,并询问您是否要在将来尝试再次加载它。回答'是',让IDE继续加载。然后再次尝试您的项目,看看会发生什么。

上面的步骤会暂时从IDE设计器中加载CLX。 (不用担心,如果不是问题,您可以再次重命名该密钥以将其恢复。如果它没有返回,请确保IDE未在Disabled Packages条目中添加条目;如果确实如此,只需删除它。)

如果此方法有效,您可以打开项目的项目选项(.DOF)文件,并从Packages列表中删除CLX库。这可以防止在加载项目时包含它。 一旦你确定问题是否真的

答案 2 :(得分:0)

我的第一个建议是使用XP Mode或其他VM基础设施在Windows 7上运行这样一个旧的Delphi版本(我这样做)。

另一种可能的方法是使用Windows 7中的兼容性设置将其设置为XP,并使Delphi 7进程免于系统可能强加的DEP(数据执行保护)策略。使用较旧的Borland IDE和VS 2003启用DEP时遇到了一些麻烦。