看起来这实际上可能与Winapi.Security
单位有关,而不是像您在问题中建议的那样通用。例如,以下包编译得很好:
package Package1;
requires
rtl;
contains
Windows in 'Windows.pas'; // blank unit named Windows.pas in project folder
end.
请注意,我和您一样,已包含Winapi
在项目的单位范围名称列表中。
另一方面,这个包不编译:
package Package1;
requires
rtl;
contains
Security in 'Security.pas'; // blank unit named Security.pas in project folder
end.
编译器失败并显示:
[dcc32 错误] Package1.dpk(7): E2200 包 'rtl' 已经包含单元 'Winapi.Security'
如果问题纯粹与单元范围名称有关,那么两个包都可以编译,或者都失败。因此,我的结论是Winapi.Security
.
我找不到Winapi.Security
. 我想知道它实际上是什么。[Nicholas Ring 在rtl\win\winrt
目录中为我找到了源代码。]
无论如何,我认为是时候提交一份 QP 报告了。下面无法编译的包可能是该 QP 报告的起点。[您提交的报告在这里是RSP-12469。]
我似乎很清楚,如果你想收养西雅图,你必须在短期内重新命名你的单位。
FWIW,这里有一些其他单位的行为方式与Winapi.Security
:
Winapi.ApplicationModel
Winapi.CommonTypes
Winapi.Devices
Winapi.Foundation
Winapi.Gaming
Winapi.Globalization
Winapi.GraphicsRT
Winapi.Management
Winapi.Media
Winapi.Networking
Winapi.Storage
Winapi.UI
Winapi.WebRT
这些都是我认为很重要的新添加的 WinRT 单元。