gpt4 book ai didi

delphi - 构建包 : how to fix? 时同时出现间歇性虚假 Delphi E2200 和 E2213

转载 作者:行者123 更新时间:2023-12-03 07:37:15 24 4
gpt4 key购买 nike

错误 E2200如果您尝试将相同的单元 X 放入两个不同命名的包 Y 和 Z 中,则是可以预料的。当错误消息的左侧和右侧的包名称相同时,则不会出现这种情况。同样奇怪的是,上述虚假或令人困惑的 E2200 最常伴随着 E2213,即糟糕的封装单元格式。

我看到这种形式的间歇性编译器错误,这显然是为了警告用户他们将同一个单元放入两个不同的包中,但有时会发生这样的情况,它会在左侧和右侧以相同的包基名为您提供此消息,在下面的情况下,请注意 Jacob-Two-Two 错误消息。你不能把它放在 ZZLibD16 中,因为它已经在 ZZLibD16 中了。这个错误让包括我在内的用户感到困惑,但我已经见过很多次了,并且已经找到了解决方法。

[DCC Error] ZZLibD16.dpk(82): E2200 Package 'ZZLibD16' already contains unit 'ZZChartComboBox'
[DCC Error] ZZLibD16.dpk(83): E2200 Package 'ZZLibD16' already contains unit 'ZZComboBox'
[DCC Error] ZZLibD16.dpk(84): E2200 Package 'ZZLibD16' already contains unit 'ZZDBComboBox'
[DCC Error] ZZLibD16.dpk(85): E2200 Package 'ZZLibD16' already contains unit 'ZZDBGrid'
[DCC Error] ZZLibD16.dpk(86): E2200 Package 'ZZLibD16' already contains unit 'ZZQuery'
[DCC Error] ZZLibD16.dpk(87): E2200 Package 'ZZLibD16' already contains unit 'ZZTable'
[DCC Error] ZZLibD16.dpk(88): E2200 Package 'ZZLibD16' already contains unit 'ZZTrackBar'
[DCC Fatal Error] RSLibD16.dpk(308): E2213 Bad packaged unit format: ZZSomething.dcp.ZZUnitX - Expected version: 23.0, Windows Unicode(x86) Found version: 0.0, Unk(x86)

我相信这种奇怪的“你不能把 X 放在 Y 中”的正常原因是一些“坏包卫生”的做法,我怀疑修复是什么,但我想知道是否有人研究过这个并且可以明确回答一个人应该做什么。

我通常尝试通过查找 DCP 文件的重复副本并清理重复或额外副本来解决它。我知道这个问题的那部分。我想知道的是,您是否可以采取一些措施来避免 IDE 损坏您的计算机并生成不良 DCU?例如,我长期以来一直怀疑,通过避免让包和项目具有与其输入(搜索)和输出(DCU 输出和 DCP 输出)路径相同的任何路径,就可以避免这个问题。是这样吗?如果没有,有什么方法可以防止出现此类问题?您的项目搜索和库搜索路径中的哪些组织规则将避免此问题?

在某些情况下,以下就足够了:右键单击组中的每个项目并清理。现在再次构建,问题消失了一段时间,然后又回来了。在其他情况下,我要构建更复杂的包集,唯一可行的解​​决方法根本不是从 IDE 构建,而是从批处理文件的 msbuild 构建。在其他情况下,我发现将所有包从“根据需要重建”更改为“显式重建”会有所帮助。事实上,我无法理解或真正“解决”或预防问题,只能通过各种杂手来解决它。有没有大神懂的,谁能解释一下这种包奇怪问题的原因和解决办法,包括“打包单元格式不好”?

在上面的问题中,我专门使用 Delphi XE2,但我认为类似的答案应该适用于大约 2010 年及以后的所有 Delphi 版本。

最佳答案

转到“C:\Users\Public\Documents\Embarcadero\Studio”,将文件夹“21.0”重命名为“21.0_”并重新启动 Delphi 并尝试

关于delphi - 构建包 : how to fix? 时同时出现间歇性虚假 Delphi E2200 和 E2213,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22175435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com