函数都是从Tw_ocr32.dll里调出来的!
  TW_Start(0,5,0,0);
  TW_CallBackAddress(ProgressStart,ProgressEnd, 0, ProgressStart);  //////
  TW_RecogFile(PChar('E:\TemOCR.bmp'), PChar('E:\TemOCR.TXT'), 0);
  TW_End;
在delphi里用上面四行代码就可以实现中文OCR了;但没显是进度条!它SDK文档是这样说的:这组回调函数用来在用户程序中显示识别进度,要求必须在同一个EXE或DLL模块中,系统通过Tw_Start中的HApplicationInstance参数来寻找该模块。函数成功返回TRUE,失败返回FALSE,返回FALSE将终止识别过程。 ERRCODE WINAPI TW_CallBackAddress(long Thocr_Callback_ProgressStart, long Thocr_Callback_ProgressFinish, long Thocr_Callback_ProgressSetStage, long Thocr_Callback_ProgressSetPerc);〖功能〗 如果Tw_Start中的HApplicationInstance参数为0,则可以通过本函数设置回调 函数的地址,主要用在VB中,因为VB的EXE文件无法导出(export)函数。
〖参数〗 四个参数分别为下边四个回调函数的地址。〖返回值〗ERRCODE 错误代码BOOL PASCAL EXPORT Thocr_Callback_ProgressStart (void);
BOOL PASCAL EXPORT Thocr_Callback_ProgressFinish (void);
BOOL PASCAL EXPORT Thocr_Callback_ProgressSetStage(WORD wStageNumber, LPSTR lpStageName);我怎样用TW_CallBackAddress??

解决方案 »

  1.   

    VB:
    声明:
      Public Declare Function TW_CallBackAddress Lib "tw_ocr32.dll" (ByVal start As Long,     ByVal finish As Long, ByVal stage As Long, ByVal percent As Long) As Long调用:
      TW_CallBackAddress(AddressOf Progress.ProgressStart, AddressOf Progress.ProgressEnd, AddressOf Progress.ProgressSetStage, AddressOf Progress.ProgressSetPerc)参数声明:Progress模块--
    Function ProgressStart() As Long
    Function ProgressEnd() As Long
    Function ProgressSetStage(ByVal wStageNumber As Integer, ByRef Name As Byte) As Long
    Function ProgressSetPerc(ByVal percent As Integer) As Long在Delphi里,会提示ProgressSetStage 和 ProgressSetPerc要传递参数??请问在Delphi里怎样实现像VB那样样??