【发布时间】:2014-01-23 14:47:09
【问题描述】:
我在运行时为TClientDataSet 创建FieldDefs。仍然在运行时我想删除所有FieldDefs。我将TClientDataSet 物理保存到光盘文件中。我尝试使用以下代码删除现有的FieldDefs,以便添加新的。但它没有用:
with fDataSet do begin
Active := False;
DisableControls;
FieldDefs.Clear;
Fields.Clear;
EnableControls;
end;
执行此代码后,FieldDefs 和Fields 计数为0,但如果我关闭并重新打开disc file,FieldDefs 和Fields 仍然存在。
更改FieldDefs 和Fields 的正确方法是什么?
【问题讨论】:
-
FieldDefs 和 Fields 必须存在才能将
TClientDataSet保存到文件中。它还能节省什么?它不能包含任何没有基于字段的索引或数据。我不明白你在这里实际上想做什么。 “我想在运行时创建一个 TClientDataSet,删除所有字段,并将其保存到磁盘”?你能edit 澄清你真正想要完成的事情吗? -
如果你想更多地关注你的问题,你应该添加
delphi标签 -
嗨,肯。假设我之前创建了一个
cds文件。在给定的时刻,我想programmatically将fields deffinitions更改为新的deffinition's set。我认为我能做到这一点的唯一方法是删除all existing deffinitions,然后添加new deffinition's set。对吗? -
鲁佛爵士您好。对不起。我添加了标签
delphi-xe,里面有delphi这个词。我想这足以识别主题。以后我也会加标签delphi。 -
@SirRufo:我错过了标签不在那里。我也应该添加它。