1

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

在下图中,我指出了一个对象的示例,该TLabel对象的属性FocusControlTEdit

在此处输入图像描述

如果我这样做:

  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 中。

请提供有关如何创建此类关联的建议。

4

1 回答 1

3

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

由于该其他包显然是 的运行时包TVirtualStringTree,因此您应该简单地从您的包中引用该包。然后它不会尝试合并该单元,而是从中引用它VirtualTreesR。这样,您就可以避免冲突,一切都应该很好:

package Bla;

  ...

requires
  VirtualTreesR,
  vcl,
  etc....
于 2016-03-18T12:42:52.687 回答