Delphi:组件构建 - 关联 TVirtualStringTree

Delphi: Component Build - Associate TVirtualStringTree

我正在构建一个新组件,我想添加一个 属性 以关联 TVirtualStringTree 对象。

在下面的图片中,我指出了 TLabel 对象的示例,其中 属性 FocusControl 关联到 TEdit

如果我这样做:

  TMyComponent = class(TComponent)
  private
    FVirtualStringTree: TVirtualStringTree;
  protected
    { Protected declarations }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property VirtualStringTree: TVirtualStringTree read FVirtualStringTree write FVirtualStringTree;
  end;

我收到这样的错误:“无法加载包 ....它包含单元 VirtualTrees.WorkerThread,它也包含在包 VirtualTreesR22 中。

请告知如何创建此类关联。

问题不在于关联,问题在于您(间接)将 TVirtualStringTree 中的代码包含到包中,而另一个已安装的包已经具有相同的单元。

因为其他包显然是 TVirtualStringTree 的运行时包,您应该简单地从您的包中引用该包。然后它不会尝试合并该单位,而是从 VirtualTreesR 引用它。这样,你就避免了冲突,一切都会好起来的:

package Bla;

  ...

requires
  VirtualTreesR,
  vcl,
  etc....