关于数据驱动的问题
最近我使用了数据驱动功能,但是很奇怪出现了一些古怪问题:table = "zuobiao.xls";
ddt_close(table);
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
function L_SetItemUnderBasicDimension(DimensionMethod,second,third,fourth,fifth,sixth)
{
auto result = E_OK;
win_activate (gProductName);
set_window (gProductName, 1);
obj_mouse_click ("标注工具", 14, 15, LEFT);#点击标注工具栏上的标注命令
switch (DimensionMethod)
{
case 0:
win_activate (gProductName);
set_window (gProductName, 1);
list_select_item("标注类型","基本标注");#选取标注类型
# obj_mouse_click("Afx:400000:2b",371,218);
# obj_mouse_click("Afx:400000:2b",602,351);
#
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
ddt_set_row(table,table_Row);
win_activate (gProductName);
set_window (gProductName, 1);
obj_mouse_click("Afx:400000:2b",ddt_val(table, "x1") ,ddt_val(table, "y1"));
}
#
if(second==0)
L_SetListItem("标注2","文字平行");
else
L_SetListItem("标注2","文字水平");
if(third ==0)
L_SetListItem("标注3","长度");
else
L_SetListItem("标注3","直径");
if(fourth==0)
L_SetListItem("标注4","正交");
else
L_SetListItem("标注4","平行");
if(fifth==0)
L_SetListItem("标注5","文字居中");
else
L_SetListItem("标注5","文字拖动");
if(sixth==0)
L_SetListItem("标注6","文字有边框");
else
L_SetListItem("标注6","文字无边框");
break;
case 1:
if( second==0)
L_SetListItem("标注2","文字平行");
else
L_SetListItem("标注2","文字水平");
if(third==0)
L_SetListItem("标注3","正交");
else
L_SetListItem("标注3","平行");
if(fourth==0)
L_SetListItem("标注4","文字有边框");
else
L_SetListItem("标注4","文字无边框");
break;
#
# case 2:
# case 3:
# case 4:
# case 5:
# cae 6:
# case 7:
# case 8:
default:
report_msg("ERROR Occured when selecting item");
}
return result;
}
下面是我的主程序,(一部分)其他的不是很重要
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
ddt_set_row(table,table_Row);
istep++;
DimensionImg="DimensionImg"&istep;
StatusBarImg="StatusBarImg"&istep;
obj_mouse_click ("Afx:400000:2b", ddt_val(table, "PickX"), ddt_val(table, "PickY") , LEFT);
}
ddt_close(table);
现在问题是,我如果把运行的话,会有提示以下错误:
附件是图片。 谢谢了,麻烦关注一下! 不好意思,发贴得时候没有排版好。
我现在初步知道原因了,因为我再运行程序的时候,脚本需要对你自定义的函数进行检查,而table_Row不是全局变量,在自定义函数中,就无法识别了,因而说它没有声明。同理变量table_RowCount也是的!
这只是我的猜测,不知道对不对。我不知道如何解决。
其实我也试过再我函数中写成
auto table_Row=0;
auto table_RowCount=10;(我有十组数据,但是我以后改变数据书目的时候,难道还要每次在这修改它的值码?,所以我觉得这样肯定不妥)
怎么就没有人来看呢!!! 嘿嘿,帮顶,期待有人回答! 呵呵,问题已经解决。
看来,自己才是最好的老师 还是有人关注的,自己解决了,也要跟大家分享一下嘛,期待哦 在你的脚本的开头 声明这个变量 statci table_Row
然后在你的函数里面 extern table_Row就可以了 学习一下
页:
[1]