5

在 TClientDataSet 组件中调用 CreateDataSet 方法时出现“无效参数错误”的原因是什么。是什么导致了这个错误。

4

4 回答 4

8

当您有一个 ftString 数据类型字段并且其大小为零或未提供时,它也可能导致此类错误。我已尝试为数据集创建 fieldef,但尚未指定字符串字段的大小。我最终遇到了同样的错误。

于 2011-11-16T07:08:58.787 回答
4

瑞安,

你在使用 ftGuid 字段吗?如果是这样,您必须手动将字段的大小设置为 38。

问候,利文

于 2009-02-01T19:54:19.140 回答
3

Lieven 正确地指出,在创建与它们关联的 ClientDataSet(使用 CreateDataSet)之前,某些 TField 有不同的需求,就它们的属性而言。但是 TGuid 字段并不是唯一的。

如果您在确定哪个字段导致问题时遇到问题,请注释掉除一个之外的所有字段类型,例如 TStringField,然后尝试创建 ClientDataSet。如果第一组没有问题,请转到下一组。它可以像 BDC(二进制编码的十进制)字段一样简单,或者更奇特的东西。

一旦您找到了存在导致错误的字段类型,请使用帮助并确保您只包含对该字段类型有意义的属性。

此外,这也可能是由于 TIndexDef 中的参数无效。例如,TIndexDef 实例不支持 ixExpression 索引,即使 IndexDef 集合编辑器允许您设置此选项。

祝你好运...

于 2009-07-10T22:49:31.203 回答
1

我遇到了同样的麻烦,没有明显的原因..然后我偶然发现了。切换到文本视图并切换回表单设计器中的表单视图 (alt+f10) 现在再试一次。它为我工作了好几次。我认为一个错误会导致这种情况,并且随着组件的重新创建它会消失..

于 2009-11-13T00:08:13.220 回答