变量操作错误无效

时间:2009-08-14 19:42:58

标签: delphi

我的按钮点击时出错,我无法弄清楚如何解决它。

这是我的代码:

if (ovElements.item(i).name = 'add') and    
(ovElements.item(i).type = 'button') and    
(ovElements.item(i).Value = ' + ') then    
ovElements.item(i).Click;

这是标记:

<td width="20" align="left"><input class="button" style="width: 30px;" 
 name="add" value=" + " onclick="addLvl();" type="button"></td>

它给出了这个错误:

Invalid Variant Operation Error

我做错了什么?

3 个答案:

答案 0 :(得分:1)

这意味着对执行的变量的操作无效。例如,当包含某些文本的变体除以整数时,就会发生这种情况。显然这不起作用,但由于编译器无法检查这一点,因此它是一个运行时错误。

对if语句中的3个部分使用临时变量,以更好地查看引发错误的行。然后检查值是什么以及无效操作是什么。

答案 1 :(得分:1)

只是一个猜测:

ovElements.item(i).Value可能是Variant。如果变量包含空值,则在将其与字符串进行比较时会出现该错误。

确保ovElements.item(i)在比较之前不包含空值。

答案 2 :(得分:1)

您可以将“ovElements.item(i)”保存到局部变量,然后将代码拆分为多行。

obj = ovElements.item(i);
if obj <> nil then
try
  if obj.name = 'add' then
    if obj.type = 'button' then
      if obj.value = ' + ' then    
        obj.click;
except
end;

通过这种方式,您可以看到哪一行导致了这个问题。