希望新版模拟精灵增加出错继续运行下一步或能像其他言语一样抛出异常并运行指定代码!

[ 1971 查看 / 6 回复 ]

代码如下:
--导入comx插件
  import("std");
  import2("comx","http://www.yhhe.net/ape/import/comx/comx.dll");
 
  --创建MODI对象(必须安装office2003中的Microsoft Document Imaging组件)
  mdoc = comx.CreateObject("MODI.Document");
  if(not mdoc)then
    win.messageBox("请将安装office2003及Microsoft Document Imaging组件","屏幕ocr文字识别");
    return false;
  end;
 
  --导入图片
  mdoc:Create(_LASDIR.."\\temp.bmp");
  --进行OCR识别,参数分别为语言ID,是否自动诱转,是否自动拉伸
  mdoc:OCR( 0x9,_FALSE,_FALSE);

上面是一个调用office2003 MDI进行OCR识别,如果反复不断运行时,mdoc:OCR( 0x9,_FALSE,_FALSE) 会出现下面错误,完全不能保证24小时不间断运行,如果能增加错误捕捉指令,出错了也继续不断运行那就最好!


希望新版模拟精灵增加出错继续运行下一步或能像其他言语一样抛出异常并运行指定代码!
如:
try{}catch(Exception ex){out.print("error");}
最后编辑yeminny 最后编辑于 2009-08-12 15:23:02
分享 转发
TOP

有这个功能了呀!!
  1. function f()
  2. error("错误信息");--error函数抛出错误。
  3. end;

  4. function catch(msg)
  5. return "捕获到一个错误:"..msg;
  6. end;

  7. ok,errmsg = xpcall(f,catch);--执行函数 f()

  8. win.consoleOpen();
  9. print(ok, errmsg );
复制代码
catch函数就是出错时执行的。里面可以是把错误信息写入文本文件等。

也可以不要返回值。记得这果的函数不能带参数。
xpcall(f,catch);
最后编辑卡达 最后编辑于 2009-08-15 11:21:07
TOP

xpcall(f,catch);
我试过,不行,因为mdoc:OCR( 0x9,_FALSE,_FALSE) 是引用外部组件,不信你可以将上面代码加入到你代码中运行一下!
注:我想写一个将文华财经期货软件数据抓图出来(这个数据没有二次接口公开,软件公司保密),再通过OCR识别成TXT数据,再定时每1分钟通过139免费邮件和免费短信通知发到我手机上,方便我看数据,因为手机PDA版期货软件收费比较贵,而且要手机GPRS包月,这样费用很高,通过上面方法,我只要打开一个闲置的服务器就可了,而且手机不需要上网和GPRS,通过模拟精灵写的上面功能已可能正常,但问题是每天OCR要报上面错,软件就停止了工作,好烦,
目前,我通过别的技术提取文华财经期货软件数据方法将数据发到我手机上(还是通过模拟精灵写的),不再通过OCR认别,但在这里主要是想强调一下,模拟精灵还是很好用的,相比我一直用Delhpi和VB开发来讲,一个字“快”!
最后编辑yeminny 最后编辑于 2009-08-17 13:51:46
123.jpg ()

jpg (2009-8-17 13:48:03)

123.jpg

TOP

同时,win库 - 窗口函数,如:win.find,win.findX,win.FindXX,win.fromFile等函数在XP下很正常的工作,能很准确找到窗口句柄,但在win2003下都全部无效,不能找到窗口句柄,都是靠枚举窗口函数搜索窗口找到句柄,太麻烦了。希望作者能好好在win2003下测试一下。
TOP

应该可以解决的
TOP

是啊,经常遇见类似的错误,学习了
TOP

原帖由 yeminny 于 2009-8-17 13:24:00 发表
同时,win库 - 窗口函数,如:win.find,win.findX,win.FindXX,win.fromFile等函数在XP下很正常的工作,能很准确找到窗口句柄,但在win2003下都全部无效,不能找到窗口句柄,都是靠枚举窗口函数搜索窗口找到句柄,太麻烦了。希望作者能好好在win2003下测试一下。


模拟精灵是在win2003下开发的,我想可能是哪里弄错了
AAuto is quicker and better,just try it!
(看完入门视频 + 疯狂写一周代码 + 制造尽可能多的错误) == 轻松学会编程
如果对此深怀恐惧,那就坚信别人都是编程专才吧,就把时间用在论坛闲逛,对没有深入了解的东西发表一些无聊的看法......
Edsger Dijkstra在图灵奖大会上宣读了《谦卑的程序员》......是的,高智商与优秀程序员并无太密切的联系......你越是谦虚,进步就越快。在我漫长的程序生涯中深切体会到,越是自以为是的人,越是缺乏实际的能力!
TOP