dyjyhx 发表于 2005-2-26 09:49:45

也是找不到控件的问题

对象
GIN(ENTRY)
物理描述为:
{
class: list,
attached_text: "GIN(ENTRY):"
}

每次执行 list_select_item ("GIN(ENTRY)", "2");都提示找不到这个控件。检查GUIMAP,发现GIN(ENTRY)存在里面 。并且选择GIN(ENTRY),能高亮标志这个GIN(ENTRY)。重新learn一下就能通过。是什么原因?
谁给指点一下,先谢谢了。

生如火花 发表于 2005-2-26 10:14:35

learn之后有变化吗?

dyjyhx 发表于 2005-2-26 13:59:38

没有变化。

dyjyhx 发表于 2005-2-26 14:41:05

我单步执行(设置短点,进行调试)就能通过。
list_select_item ("SysTreeView32", "报文类型;用户数据可变帧;通用分类功能;通用分类写命令ASDU10;写条目"); # Item Number 22        list_select_item ("GIN(GROUP):", "1");# Item Number 1;
        list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
        list_select_item ("GDD(CONT):", "3");# Item Number 3;

生如火花 发表于 2005-2-26 15:33:11

........第2个""里应该是#1,#2,#3

dyjyhx 发表于 2005-2-26 15:47:04

不知道这个# Item Number 2;是从那里来的。我想和这个应该有关系。因为每条语句后都加有这些注释

dyjyhx 发表于 2005-2-26 16:00:41

生如火花

第2个""里应该是#1,#2,#3


--------------------------------------------------
我改过了,和它没有关系。单步执行为什么就能通过那?
是不是和下面这个原因有关系:
   先执行list_select_item ("SysTreeView32", "报文类型;用户数据可变帧;通用分类功能;通用分类写命令ASDU10;写条目"); # Item Number 22      
然后GIN(GROUP)下拉框才可用,才能执行list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
会不会是执行太快了,GIN(GROUP)下拉框还没有可用时,就执行了list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
???

生如火花 发表于 2005-2-26 17:01:03

那你加同步点啊

dyjyhx 发表于 2005-2-26 17:21:36

很郁闷的说,加了同步点也不行。晕死了。

我再试试其它的方法。各位大虾请继续帮我找一下解决的方法。先谢谢了。我找到了就发上来

shyfish 发表于 2005-2-28 08:47:08

同步点不可能不行吧?
或者让它wait()一下也可以

dyjyhx 发表于 2005-2-28 10:09:55

我试过了,不行。
这个控件是VC的combo box控件。
还有,我修改了一下程序,把它一开始就设为enable,这样只能执行
      list_select_item ("GIN(GROUP):", "1");# Item Number 1;
      list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
      list_select_item ("GDD(CONT):", "3");# Item Number 3;

       第一个语句,下面的两个又提示找不到。

dyjyhx 发表于 2005-2-28 10:17:54

还有就是为什么单步执行就能通过那?请高手指点,多谢了

生如火花 发表于 2005-2-28 11:10:44

通过对下拉框的录制让我有个体会,如果点击下拉框并展开了下拉内容,连续执行是可以选择下拉内容的,单步是不可以的。你这个会不会是前一句有影响后面的的操作?把窗口关闭并保存再进行下一步试试

shyfish 发表于 2005-2-28 11:43:23

把3个都设成Enabled了吗?

dyjyhx 发表于 2005-2-28 11:47:53

是呀,不然会提示不可用

dyjyhx 发表于 2005-3-1 08:58:17

我可能发现原因了,但不知道怎么解决。请高手指点一下

      list_select_item ("GIN(GROUP):", "1");# Item Number 1;
      list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
      list_select_item ("GDD(CONT):", "3");# Item Number 3;

当第一个下拉框被选中后,焦点仍在第一个下拉框上。在选第二个下拉框的item时,第一次点击取消了第一个下拉框的焦点。第二次点击才打开第二个下拉框,才能选择。会不会是这个原因导致找不到控件?该怎么解决那?

dyjyhx 发表于 2005-3-1 09:02:07

就是这个原因引起的。不知道该怎么解决了?用什么函数可以解决吗?

生如火花 发表于 2005-3-1 09:02:47

那把第2句,第3句都写2遍啊

dyjyhx 发表于 2005-3-1 09:11:07

写2遍?那会不会第一次还是找不到?

dyjyhx 发表于 2005-3-1 09:13:33

list_select_item ("GIN(GROUP):", "1");# Item Number 1;
      list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
      list_select_item ("GIN(ENTRY):", "2");# Item Number 2;
      list_select_item ("GDD(CONT):", "3");# Item Number 3;
      list_select_item ("GDD(CONT):", "3");# Item Number 3;

这样当第一次执行list_select_item ("GIN(ENTRY):", "2");# Item Number 2;还是会提示找不到控件
页: [1] 2
查看完整版本: 也是找不到控件的问题