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