TClientDataSet コンポーネントで CreateDataSet メソッドを呼び出すときに「無効なパラメータ エラー」が発生する理由は何ですか。このエラーの原因。
4 に答える
ftStringデータ型フィールドがあり、そのサイズがゼロまたは指定されていない場合も、この種のエラーが発生する可能性があります。データセットのfieldefを作成しようとしましたが、文字列フィールドのサイズを指定していません。私は同じエラーで終わった。
リアン、
ftGuid フィールドを使用していますか? その場合は、フィールドのサイズを手動で 38 に設定する必要があります。
よろしく、 リーベン
特定の TField には、それらが関連付けられている ClientDataSet を (CreateDataSet を使用して) 作成する前に、それらのプロパティに関して異なるニーズがあることに注意してください。しかし、TGuid フィールドだけではありません。
問題の原因となっているフィールドを特定できない場合は、TStringField などの 1 つを除くすべてのフィールド タイプをコメント アウトしてから、ClientDataSet を作成してみてください。最初のグループで問題がなければ、次のグループに進みます。これは、BDC (2 進化 10 進数) フィールドのように単純なものでも、もっと変わったものでもかまいません。
エラーの原因となるフィールド タイプを見つけたら、ヘルプを使用して、そのフィールド タイプにとって意味のあるプロパティのみを含めていることを確認します。
また、これは TIndexDef の無効なパラメータが原因である可能性もあります。たとえば、IndexDef コレクション エディタでこのオプションの設定が許可されていても、TIndexDef インスタンスは ixExpression インデックスをサポートしません。
幸運を...
私も同じ悩みを抱えていて、明らかな理由はありませんでした..そして、偶然それを発見しました。フォーム デザイナでテキスト ビューに切り替え、フォーム ビューに戻ります (alt+f10)。それは私のために数回働いた。バグが原因で、コンポーネントを再作成すると消えると思います..