gpt4 book ai didi

delphi - 为什么在设计时不显示 ClientDataSet 后代的字段?

转载 作者:行者123 更新时间:2023-12-03 19:12:15 26 4
gpt4 key购买 nike

我正在尝试编写一个从 TClientDataset 继承的组件。在设计时创建组件时,我想实例化一个在我的框架中使用的公共(public)字段列表。下面的代码将在没有错误的情况下执行,并且该字段将出现在运行时而不是设计时。谁能帮我?我敢肯定它是微不足道的!

{ InheritedClientDataset }

constructor InheritedClientDataset.Create(AOwner: TComponent);
var
Field : TField;
begin
inherited;

Field := TField.Create(self);
Field.Name := 'ATestField';
Field.FieldName := 'Test';
Field.SetFieldType(ftInteger);
//Field.DataType := ftInteger;
Field.Size := 0;
Field.FieldKind := fkData;

self.Fields.Add(Field);
end;

最佳答案

尝试使用其字段类型创建您的字段。例如,TIntegerField。

  MyField := TIntegerField.Create(Self);
MyField.FieldName := 'MyFieldName';
MyField.DataSet := Self;
MyField.Name := Self.Name + '_' + MyField.FieldName;

那应该行得通。

它将对控件可用,但对字段编辑器不可用。

关于delphi - 为什么在设计时不显示 ClientDataSet 后代的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com