代码之家  ›  专栏  ›  技术社区  ›  siddharth taunk

TShellTreeView在哪里?

  •  2
  • siddharth taunk  · 技术社区  · 10 年前

    我试图在Delphi 10 Seattle中编译一个旧项目,并得到以下错误消息

    类TShellTreeView未找到单击“取消”忽略。。。。。

    TShellTreeView 是设计时组件,是 ShellCtrls 该软件包始终随Delphi一起在 Samples 包通常位于:

    C: \Users\Public\Documents\Embarcadero\Studio\xx。x\Samples\Object Pascal\VCL\

    现在它似乎不再存在了。这个包裹去哪儿了?

    2 回复  |  直到 7 年前
        1
  •  11
  •   J...    10 年前

    这个 ShellControls 设计时包,以及 Samples 在XE7+中移除了包装。

    如果您想要现成的设计时软件包,您仍然可以在 SourceForge repository here .

    链接到此存储库的相关文档页面是 the XE6-specific page. 特定于Delphi较新版本的文档页面将链接到 样品 特定于这些版本的存储库。要安装软件包,请打开 vclshlctrls.dproj 文件,右键单击 ShellControls.bpl 中的包 Project Manager 并选择 Install .

    请记住,这现在是一个废弃的包——您可能需要进行更改以在新版本中编译它。


    当前的、更新的、, .pas 然而,文件已集成到VCL源中。最好的选择可能是用这些来制作自己的设计时包。为此,您需要在以下位置找到来源:

    Vcl.外壳.外壳结构.pas
    Vcl.外壳.外壳Ctrls.pas

    在:

    [ 程序文件 ]\Embarcadero\Studio\17.0\source\vcl\

    • 接下来,将这些文件复制到新包的工作目录中。
    • 创建新包(文件->新建->)
    • 将包另存为 外壳控制.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 在项目管理器中,选择-> 安装 。接受IDE通知您的任何必需的引用,您应该这样做。
        2
  •  0
  •   Torbins    10 年前

    根据文件,样品副本如下: http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/trunk/ 这是SVN存储库,因此您必须使用版本控制IDE插件或单独的应用程序来获取源代码。