我真的厌倦了这个问题。 Google 搜索似乎总是建议“删除该包的所有 bpls”、“删除所有 dcus”。有时这根本行不通。希望我能在这里得到一些其他的想法。
我有一个内部编写的软件包,几个月前安装时没有出现任何问题。对源代码进行了一些更改后,我认为是时候重新编译/重新安装该软件包了。现在我收到两个错误,如果我选择“安装”,第一个错误是
模块“dcc100.dll”中地址 02422108 处存在访问冲突。读取地址 00000000。
...或者如果我尝试构建/编译包,我会得到
[Pascal fatal error ] F2084 内部错误:LA33
这是 Delphi 问题之一,对于我们许多人来说似乎一次又一次地发生。如果我们可以按照“这些步骤中的任何一个或组合可能修复它,但如果您执行所有这些步骤,那就太好了” >将修复它......”
目前,我已删除对此包的 bpl/dcp 文件的所有引用,但仍然遇到相同的错误...
使用BDS2006(德尔福)
2008 年 10 月 1 日更新:我设法解决了这个问题 - 请参阅下面的帖子。由于我无法接受自己的答案,因此我不完全确定在这里要做什么。显然,这些类型的问题对于某些人来说经常发生,因此我将暂时保留该问题以获取其他建议。然后我想如果有人将所有信息整理成一个 super 帖子,我可以接受答案
最佳答案
我按照以下步骤成功解决了这个问题
- 创建一个新包
- 将组件一一添加到包中,编译安装,直至失败。
- 调查导致故障的设备。
事实证明,相关单元有一个类常量数组,例如
TMyClass = class(TComponent)
private
const ErrStrs: array[TErrEnum] of string
= ('', //erOK
'Invalid user name or password', //erInvUserPass
'Trial Period has Expired'); //erTrialExp
protected
...
public
...
end;
看来 Delphi 不喜欢包组件中的类常量(或者可能是类常量数组)
更新:是的,这已报告给 codegear
关于delphi - 如何解决Delphi的[Pascal Fatal Error] F2084内部错误: LA33?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/153388/