queen 发表于 2006-9-5 15:45:31

请问:在GUI中已经存在,但在脚本运行时却无法识别的对象,该如何处理?

logical name:Edit_3
{
class: edit,
displayed: 0,
MSW_id: 10,
location: 3
}

运行到edit_set_insert_pos ("Edit_3_2", 0, 0);时,报错Object: "Edit_3_2"Error: Object is not currently displayed.
我删除了 MSW_id: 10这一行, location: X,X从0开始一个一个试过去,都没有找到这个Edit框在哪儿?查找了应用程序的源代码也没有找到名称叫Edit_3的编辑框。

这种情况,该如何处理? MSW_id: 10这个语句是什么意思?我是依葫芦画瓢sdlkfj1

[ 本帖最后由 queen 于 2006-9-5 16:09 编辑 ]

小李美刀 发表于 2006-9-5 18:31:10

GUI里保存的并不仅仅是你这次录制的信息, 也可能有其他object 的信息,

edit_set_insert_pos ("Edit_3_2", 0, 0);你把Edit_3_2的信息添加到GUI里就可以了

queen 发表于 2006-9-6 11:36:48

问题是,我不知道"Edit_3_2" 是逻辑和物理名称是什么,在应用程序中learn不到这个GUI,就不知道要添加什么到GUI里面了

生如火花 发表于 2006-9-6 14:05:31

你原来的GUI MAP中的对象是Edit_3,Edit_3是他的逻辑名,脚本根据这个找到GUI MAP并确定对象
但你软件变化后,比如关闭后重起,某些属性类似msw_id发生变化,Edit_3就变成了Edit_3_2,但你的MAP里没有Edit_3_2,所以脚本当然找不到了,把msw_id换成location后,在脚本中也得把Edit_3_2换成Edit_3

kali 发表于 2006-9-7 16:03:28

不明白楼上的说到:把msw_id换成location后,在脚本中也得把Edit_3_2换成Edit_3
是什么意思?我把MSW_id: 1052 的 1052 改成逻辑名:RICHEDIT ,{
class: edit,
MSW_id: RICHEDIT
}
是不对的。不知道我是不是理解错了你的意思?

kali 发表于 2006-9-7 16:08:26

紧急求助```在线等待中

最近很奇怪就我们公司的系统用WR录制是出现这个问题,在没有关闭录制的窗口是可以回放,如果把那窗口关了再重新打开回放,就没法识别了,重新LEARN一遍就发现MSW_id:变掉了。。 是不是因为系统用的是DEPHI开发的软件,没有装插件的原因? 我录制别的都不会出现这样的问题。。

今天有雾 发表于 2006-9-8 15:15:18

做虚拟对象也不行吗?

flower115 发表于 2006-9-8 17:06:23

请问版主把"msw_id换成location" 是什么意思,每次执行时都是改变的msw_id
页: [1]
查看完整版本: 请问:在GUI中已经存在,但在脚本运行时却无法识别的对象,该如何处理?