基于Office MODI 进行OCR二次开发

最近在开发 Delphi 7中需要使用Office 2003的OCR识别组件。  总结工作中发现的问题

 

一、  服务中创建MODI.Document,报未注册 EOleException。

其实核心MDIVWCTL.DLL已reg,同样的主exe中核心代码运行没问题, 原因在于 原来exe程序中主窗体上丢了一个 TMiDocView可视OLE控件。
尝试以下方法:
1. TService声明Private MiDoc:TMiDocView对象, Create时创建该对象
2. 纯接口方式 CoDocument.Create; IDocument.Create('文件名')
3. CreateOLEOBject('MODI.DOcument') 动态创建comserver as IDocument
4. way1 中指定 MiDoc.FileName, MiDoc.Document as IDocument
组合以上均未能解决问题
5. IDocument.Create时try 保护 except中再次 create;
偶尔能调过该问题,Create成功, 但是运行多次后 exception明显变多

 

此问题在网上搜索多日,碰到很多同样的案例,均没发现解决方法。

 


二、 核心的dll

C:\Program Files\Common Files\Microsoft Shared\MODI\11.0 下

MDIVWCTL.dll (核心COM)

MSPGIMME.dll



三、 文件锁定问题

 

IDocument.Create('c:\aa.tif');
...
IDocument.Close;  //运行完这行 文件还是一直被锁定,无法删除。

 

这个问题应该是能解决, 知道的朋友相烦告诉一下  :-)

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值