我现在自写一组件,想在组件上双击就弹出框并输入一列表信息。这些信息是组件的设计信息。要保存在组件上的。结构如下:
TDataFields=class
private
DataFields:TList; //里面指针指向一个结构。
public
。
end;
组件:
TFastSearch = class(TComponent)
private
public
{ Public declarations }
DataFields:TDataFields;
published
property test:TDataFields read DataFields write DataFields;
end;
现在我都作好了,双击组件都可有数据输入。但是运行时却无设计时的数据出现。请问高手这是作么回事。我的DataFields里的数据是new来的。就是new过来的数据无法保存。现在郁闷死了。
TDataFields=class
private
DataFields:TList; //里面指针指向一个结构。
public
。
end;
组件:
TFastSearch = class(TComponent)
private
public
{ Public declarations }
DataFields:TDataFields;
published
property test:TDataFields read DataFields write DataFields;
end;
现在我都作好了,双击组件都可有数据输入。但是运行时却无设计时的数据出现。请问高手这是作么回事。我的DataFields里的数据是new来的。就是new过来的数据无法保存。现在郁闷死了。
解决方案 »
- combobox.item与edit.text内容一致,该怎么写呢
- 关于Delphi数据库查询比较当前时间的问题?
- 如何返回Word对象
- 关于 service application
- 请教高手,如何使用Borland的包BPL技术?急!
- 一个超值的问题,特简单,但是我不懂Delphi
- 请问:在adoquery中使用查询的数目?(求教)
- 如何只在指定的条件才显示dbgrid的popupmenu
- edit问题
- (非技术问题)在哪里可以下载有关EXCEL97 -2000的学习教学资料?
- 我在stringgrid中实现了多行显示,可是怎么才能让这些单元格自动改变高度,以显示多出来的行?
- 跪求,dbGridEh问题?只能给20分了!
我现在的部份代码如下:
TDataField = class(TCollectionItem)
private
FTableName:string;
FFieldName:string;
FDisplayName:string;
FDataType:TFieldType;
public
procedure Assign(Source: TPersistent); override;
constructor Create(Collection: TCollection); override;
published
property TableName:string read FTableName write FTableName;
property FieldName:string read FFieldName write FFieldName;
property DisplayName:string read FDisplayName write FDisplayName;
property DataType:TFieldType read FDataType write FDataType;
end; TDataFields=class(TCollection)
private
FOwner: TPersistent;
procedure Update(Item: TCollectionItem); override;
protected
function GetOwner: TPersistent; override;
public
function Add():TDataField;
constructor Create(AOwner: TPersistent);
function Owner: TPersistent;
end;