-1

在我的应用程序中,当将文本转换为浮点/整数/日期值并将其分配给表格组件时,我收到一个消息框“您已插入无效值”。

我的实际代码像

Table1.Fieldbyname('XXX').value := strtofloat(Quantity.Text); 

这里 xxx 是浮点数据类型,并传递像 (5---6) 这样的值

(或者)

Table1.Fieldbyname('XXX').value := inttostr(Quantity.Text);

这里 xxx 是整数数据类型,并传递像 (3+) 这样的值

(或者)

Table1.Fieldbyname('XXX').value := strtodatetime(Quantity.Text);

这里 xxx 是日期数据类型,传递的值如 (13/ss)。

我没有在退出事件的编辑框中验证任何内容,

我的问题是,我正在使用 eureka-log 来捕获异常,但这些消息并没有被 eureka-log 赶上。这些消息是作为异常引发还是只是警告消息?

如果是异常如何在 eureka-log 中处理?

4

2 回答 2

0

如果

... inttostr(Quantity.Text);

不是错字,那是你的问题,试试

.... strtoint(Quantity.Text);
于 2014-09-04T12:52:23.580 回答
-1

在您拥有的实际代码中的位置

Table1.Fieldbyname('XXX').value := strtofloat(Quantity.Text);

计算您希望从中获得的值(或其中一个值),strtofloat(Quantity.Text)并将函数替换为文字值。例如:

Table1.Fieldbyname('XXX').value := 5.6;

如果执行此行产生相同的错误,那么您知道问题出在Fieldbyname()分配上。

如果这一行的执行没有产生同样的错误,那么你就知道你没有得到你所期望的strtofloat(Quantity.Text).

于 2014-09-11T01:10:09.367 回答