2009-06-17 69 views
3

我有一个TClientDataSet与几个字段,我得到这个异常,我敢肯定,我忘了设置一个字段值,但问题是,哪个字段?通过任何方式找出哪个TField正在用'Field value required'提示EDBClient。

有什么方法可以快速找出哪个字段引发此异常?

编辑

我解决了这个问题,我将TClientDataSet连接到错误的提供商,它有一个必填字段在服务器上,但没有在客户端上这一领域。

但是它仍然没有使我的问题失效,我花了很多时间弄清楚了,如果我有一些方法可以知道哪个服务器端需要字段提高了这个错误,它会很快意识到什么是我的错。

编辑2

相关的QC:

#5557 - 解决为 “按设计”。

#54380 - 打开

回答

4

当调试程序通知您该异常的,看看调用堆栈。导航到遍历字段列表的例程,并检查该点处的循环控制变量,以查找在引发异常之前程序获得的字段列表有多远。

如果循环控制变量不准确,那么在该例程中设置一个断点并重新运行程序。一步一步,直到你再次得到异常。

另一种选择是查看所有字段,并查看自己哪个缺乏价值。

+1

问题是我无法调试它,它在TClientDataSet的InternalPost上通过和stdcall引发,它通过TDataSet的InternalPost方法的验证。 – 2009-06-18 00:13:37

相关问题