どのTFieldがメッセージ 'Field value required。'でEDBClientを発生させているかを知る方法はありますか?

StackOverflow https://stackoverflow.com/questions/1009034

質問

複数のフィールドを持つ1つのTClientDataSetがあり、この例外が発生しています。1つのフィールド値を設定するのを忘れていたはずですが、質問はどのフィールドですか?

どのフィールドがこの例外を発生させているかを迅速に見つける方法はありますか?

編集

問題を解決しました。TClientDataSetを間違ったプロバイダーに接続していました。サーバーには必須フィールドがありましたが、クライアントにはこのフィールドがありませんでした。

しかし、それでも私の質問を無効にしません、それを理解するのに多くの時間を失いました、そして、どのサーバー側の必要なフィールドがこのエラーを引き起こしているかを知る方法があれば、それが何であるかを理解するのは非常に迅速です私の間違い。

編集2

関連するQC:

#5557 -「設計どおり」として解決。

#54380 -開く

役に立ちましたか?

解決

デバッガーから例外が通知されたら、呼び出しスタックを確認します。フィールドのリストを反復処理しているルーチンに移動し、その時点でループ制御変数を調べて、例外が発生する前にプログラムが取得したフィールドリストの範囲を調べます。

ループ制御変数が正確でない場合は、そのルーチンにブレークポイントを設定して、プログラムを再実行します。再び例外が発生するまでステップスルーします。

別のオプションは、すべてのフィールドを調べて、値のないフィールドを自分で確認することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top