在 TClientDataSet 组件中调用 CreateDataSet 方法时出现“无效参数错误”的原因是什么。是什么导致了这个错误。
4 回答
当您有一个 ftString 数据类型字段并且其大小为零或未提供时,它也可能导致此类错误。我已尝试为数据集创建 fieldef,但尚未指定字符串字段的大小。我最终遇到了同样的错误。
瑞安,
你在使用 ftGuid 字段吗?如果是这样,您必须手动将字段的大小设置为 38。
问候,利文
Lieven 正确地指出,在创建与它们关联的 ClientDataSet(使用 CreateDataSet)之前,某些 TField 有不同的需求,就它们的属性而言。但是 TGuid 字段并不是唯一的。
如果您在确定哪个字段导致问题时遇到问题,请注释掉除一个之外的所有字段类型,例如 TStringField,然后尝试创建 ClientDataSet。如果第一组没有问题,请转到下一组。它可以像 BDC(二进制编码的十进制)字段一样简单,或者更奇特的东西。
一旦您找到了存在导致错误的字段类型,请使用帮助并确保您只包含对该字段类型有意义的属性。
此外,这也可能是由于 TIndexDef 中的参数无效。例如,TIndexDef 实例不支持 ixExpression 索引,即使 IndexDef 集合编辑器允许您设置此选项。
祝你好运...
我遇到了同样的麻烦,没有明显的原因..然后我偶然发现了。切换到文本视图并切换回表单设计器中的表单视图 (alt+f10) 现在再试一次。它为我工作了好几次。我认为一个错误会导致这种情况,并且随着组件的重新创建它会消失..