经过多年的无故障使用,Delphi 7现在在模块'vclx70.bpl‘中的地址40233A3E抛出了一个访问冲突。读取地址0000021C。
当启动IDE时,会出现缺省的空项目和单元/表单,并且编译和运行良好。
我正在开发Windows应用程序,在windows7 (x64)上运行。
我已经好几个月没有安装任何新的包或工具了。
我停下来,死在水里,无法工作。
除了完整的抓取和重新安装之外的任何建议(这需要很多小时……)
编辑:我卸载并重新安装了Delphi 7。现在我在vcl70.bpl中遇到访问冲突。我本以为卸载D7会完全删除它的所有库,等等……卸载D7后是否有需要手动删除的文件夹?
发布于 2011-04-01 01:40:04
修复了问题(并避免了主要机器重建!)
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
执行这些步骤后,问题似乎已得到解决。
发布于 2011-03-31 22:08:35
在如此低的存储器地址处读取通常是第三方组件中的问题。然而,你说你已经几个月没有安装任何新的东西了。
另一件奇怪的事情是,您在CLX
库之一的vclx70中得到了错误。您是否正在使用CLX
(遗留的跨平台Kylix)表单或对话框执行任何操作?
如果没有,您可以在源代码中搜索QDialogs
、QForms
或%PROGRAMFILES%\Borland\Delphi7\Source\Clx
中的任何其他单元,看看是否错误地添加了一些您不打算将CLX
引入到项目中的内容。如果是这样的话,将其改为VCL
版本(只需删除源代码中单元名称前面的“q”)。
编辑:您可以尝试进入注册表(D7将是HKCU\Software\Borland\Delphi\7.0
),并将Known IDE Packages
中delphiCLXide条目的名称临时更改为其他名称(在名称前加下划线或其他名称)。然后启动IDE。你应该会得到一条关于Delphi无法加载软件包的错误消息,并询问你是否想要在将来再次尝试加载它。回答“是”,然后让IDE继续加载。然后再试一次你的项目,看看会发生什么。
以上步骤将CLX暂时从IDE设计器中的加载中移除。(不用担心,如果这不是问题所在,您可以重新命名密钥以将其放回原处。如果没有返回,请确保集成开发环境没有在Disabled Packages
条目中添加条目;如果添加了条目,则将其删除。)
如果可以,您可以打开项目的项目选项(.DOF)文件,然后从Packages
列表中删除CLX库。这可防止在加载项目时将其包含在内。一旦你确定了问题是否真的
发布于 2011-03-31 21:55:31
我的第一个建议是使用XP模式或其他VM基础架构在Windows7上运行这样一个旧的Delphi版本(我是这样做的)。
另一种可能的方法是使用Windows 7中的兼容性设置将其设置为XP,并免除Delphi 7进程的DEP (数据执行防止)策略。我在使用旧的Borland IDE和VS2003启用DEP时遇到了一些问题。
https://stackoverflow.com/questions/5500933
复制相似问题