我想编写一个嵌入其他组件的复杂组件。但我不确定我是否能够通过对象检查器连接到这些组件。
为了澄清,想象一个包含TDataSources
. 这些 DataSource 组件归该组件所有,在表单上不可见。
现在我想将 a 连接TDataset
到这些数据源之一,这可能吗,这些数据源会显示在 Dataset 的属性编辑器组合中吗?
我想编写一个嵌入其他组件的复杂组件。但我不确定我是否能够通过对象检查器连接到这些组件。
为了澄清,想象一个包含TDataSources
. 这些 DataSource 组件归该组件所有,在表单上不可见。
现在我想将 a 连接TDataset
到这些数据源之一,这可能吗,这些数据源会显示在 Dataset 的属性编辑器组合中吗?
可以,但您必须输入(或复制)名称;您不能在 OI 中选择它。
使用下面编写的组件,您可以在 DBGridMyComp1.InternalDataSource
的属性中键入例如:DataSource
uses
Classes, DB;
type
TMyComp = Class(TComponent)
private
FDataSource: TDataSource;
public
constructor Create(AOwner: TComponent);override;
published
property DataSource: TDataSource read FDataSource;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('TEST', [TMyComp]);
end;
{ TMyComp }
constructor TMyComp.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDataSource := TDataSource.Create(Self);
FDataSource.Name := 'InternalDataSource';
end;