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

在Delphi 7中打开任何项目或创建新项目时,IDE中的AV,delphi,Delphi,经过多年的无故障使用,Delphi7现在正在地址上抛出访问冲突 模块“vclx70.bpl”中的40233A3E。阅读地址0000021C 启动IDE时,会出现默认的空项目和单位/表单,并可以正常编译和运行 我正在开发Windows应用程序,运行在Windows7(x64)上 我已经好几个月没有安装任何新的软件包或工具了 我停下来,死在水里,无法工作 除了完整的翻修和重新安装(需要很多小时…)之外的任何建议 编辑:我卸载并重新安装了Delphi 7。现在我在vcl70.bpl中遇到访问冲突。我原

经过多年的无故障使用,Delphi7现在正在地址上抛出访问冲突 模块“vclx70.bpl”中的40233A3E。阅读地址0000021C

启动IDE时,会出现默认的空项目和单位/表单,并可以正常编译和运行

我正在开发Windows应用程序,运行在Windows7(x64)上

我已经好几个月没有安装任何新的软件包或工具了

我停下来,死在水里,无法工作

除了完整的翻修和重新安装(需要很多小时…)之外的任何建议


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

我的第一个建议是使用XP模式或其他VM基础结构在Windows 7上运行这样一个旧的Delphi版本(我就是这样做的)


另一种可能的方法是使用Windows 7中的兼容性设置将其设置为XP,并使Delphi 7进程不受系统可能施加的DEP(数据执行预防)策略的约束。我在使用较旧的Borland IDE和VS 2003启用DEP时遇到了一些问题。

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


另一种可能的方法是使用Windows 7中的兼容性设置将其设置为XP,并使Delphi 7进程不受系统可能施加的DEP(数据执行预防)策略的约束。我在使用较旧的Borland IDE和VS 2003启用DEP时遇到了一些问题。

在内存地址如此低的情况下读取通常是第三方组件的问题。然而,你说你已经几个月没有安装任何新的东西了

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

如果没有,您可以在源代码中搜索
QDialogs
QForms
,或
%PROGRAMFILES%\Borland\Delphi7\source\Clx
中的任何其他单元,并查看是否错误地添加了一些您不想添加到项目中的内容。如果是这样,请改为
VCL
版本(只需从源代码中的单元名称前面删除“Q”)

编辑:您可以尝试进入注册表(D7将是
HKCU\Software\Borland\Delphi\7.0
),并临时将
Known IDE Packages
中DelphicLude项的名称更改为其他名称(在名称或其他名称前加下划线)。然后启动IDE。您应该会收到一条关于Delphi无法加载包的错误消息,并询问您是否希望在将来再次尝试加载该包。回答“是”,让IDE继续加载。然后再次尝试你的项目,看看会发生什么

上面的步骤将暂时从IDE设计器中删除CLX。(别担心,如果没有问题,您可以重新重命名密钥以将其放回原位。如果它没有返回,请确保IDE没有在
已禁用的包中添加条目
条目;如果添加了,请将其删除。)

如果这样做有效,您可以打开项目的项目选项(.DOF)文件,并从
Packages
列表中删除CLX库。这将防止在加载项目时将其包括在内。
一旦确定问题是否真的存在,那么低的内存地址读取通常是第三方组件中的问题。然而,你说你已经几个月没有安装任何新的东西了

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

如果没有,您可以在源代码中搜索
QDialogs
QForms
,或
%PROGRAMFILES%\Borland\Delphi7\source\Clx
中的任何其他单元,并查看是否错误地添加了一些您不想添加到项目中的内容。如果是这样,请改为
VCL
版本(只需从源代码中的单元名称前面删除“Q”)

编辑:您可以尝试进入注册表(D7将是
HKCU\Software\Borland\Delphi\7.0
),并临时将
Known IDE Packages
中DelphicLude项的名称更改为其他名称(在名称或其他名称前加下划线)。然后启动IDE。您应该会收到一条关于Delphi无法加载包的错误消息,并询问您是否希望在将来再次尝试加载该包。回答“是”,让IDE继续加载。然后再次尝试你的项目,看看会发生什么

上面的步骤将暂时从IDE设计器中删除CLX。(别担心,如果没有问题,您可以重新重命名密钥以将其放回原位。如果它没有返回,请确保IDE没有在
已禁用的包中添加条目
条目;如果添加了,请将其删除。)

如果这样做有效,您可以打开项目的项目选项(.DOF)文件,并从
Packages
列表中删除CLX库。这将防止在加载项目时将其包括在内。 一旦确定问题是否已修复(并避免了主要机器的重建!)

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
执行这些步骤后,问题似乎已修复。

问题已修复(并避免了主机重建!)

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
执行这些步骤后,p