我正在尝试在 Delphi 10 Seattle 中编译一个旧项目并收到以下错误消息
类 TShellTreeView 未找到单击取消忽略......
TShellTreeView
是一个设计时组件,是ShellCtrls
软件包,始终随 Delphi 一起提供Samples
软件包通常位于:
C:\Users\Public\Documents\Embarcadero\Studio\xx.x\Samples\Object Pascal\VCL\
现在好像已经不存在了。这个包裹到哪里去了?
The ShellControls
设计时包,以及许多其他非常古老的项目Samples
软件包在 XE7+ 中被删除。
如果您想要现成的设计时包,您仍然可以在SourceForge 存储库在这里.
链接到此存储库的相关文档页面是XE6 特定页面。特定于更高版本的 Delphi 的文档页面将链接到新版本Samples
特定于这些版本的存储库。要安装该软件包,请打开vclshlctrls.dproj
文件,右键单击ShellControls.bpl
封装在Project Manager
并选择Install
.
请记住,这现在是一个废弃的包 - 您可能需要进行更改才能在新版本中编译它。
当前的、更新的、.pas
然而,文件已被集成到 VCL 源代码中。最好的选择可能是用这些来制作您自己的设计时包。为此,您需要在以下位置找到来源:
Vcl.Shell.ShellConsts.pas
Vcl.Shell.ShellCtrls.pas
in :
[程序文件]\Embarcadero\Studio\17.0\source\vcl\
- 接下来,将它们复制到新包的工作目录中。
- 创建一个新包(文件 -> 新建 -> 包)
- 将包另存为
ShellControls.bpl
在您的工作目录中并添加两个源文件。
-
编辑您的工作副本Vcl.Shell.ShellCtrls.pas
添加为最后一项interface
部分 :
procedure Register;
-
并添加为第一项implementation
部分 :
procedure Register;
begin
RegisterComponents('Shell Controls', [TShellListView]);
RegisterComponents('Shell Controls', [TShellTreeView]);
RegisterComponents('Shell Controls', [TShellChangeNotifier]);
end;
- 保存包。右键单击,将
.bpl
在项目管理器中并选择 ->Install
。接受 IDE 通知您的任何所需引用,您就应该完成了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)