通用认证码识别(Captchio)程序提供了1个DLL文件和用户生成的数据文件*.cdb
其中数据文件通过dll中一个方法调用。
方法如下:   公开的接口 
最主要的接口是“Captchio.cCaptcha”,ClsID="{7AA16481-3F1D-490C-A0CD-56731839D6ED}" 
公开的方法 
打开识别数据:bool OpenCharDB(string DBFilePath),DBFilePath是识别数据文件; 
识别认证码 
string GetStringFromFile(string ImageFilePath):ImageFilePath是要识别的认证码图片文件; 
string GetStringFromURL(string URL):URL是要识别的认证码图片的网址; 
string GetStringFromBytes(byte[] ImageBytes):ImageBytes是要识别的认证码图片文件内容数组;
我在pHP中如下调用:
$COM = new COM('Captchio.cCaptcha') or die("无法建立COM组件");//echo   $captcha->Version();   $COM->OpenCharDB("captcha1.cdb")程序到上面这句就死掉了,页面一直在加载,是什么原因呢,
是不是我的调用出错了,求解

解决方案 »

  1.   

    你确定$COM = new COM('Captchio.cCaptcha')这句执行成功了吗?
      

  2.   

    1、确认你的这个 dll 已注册到系统
    2、DBFilePath 参数要使用全路径,即便 captcha1.cdb 与php程序在同一目录下也是这样
    realpath('captcha1.cdb')文件打不开都不报错,可见这个 COM 控件质量之低劣
      

  3.   

    echo $captcha->Version(); 这句可以执行是不是就表明&com语句执行成功呢  
      

  4.   

    是二楼说的对,我吧文件路径给出绝对路径,就可以访问文件了,但是新的问题是:
    访问string GetStringFromFile(string ImageFilePath):ImageFilePath是要识别的认证码图片文件;该方法:总是出错,路径我改成绝对路径也出错,问题可能在什么地方呢
      

  5.   

    GetStringFromFile(string ImageFilePath)报错:Fatal error: Uncaught exception 'com_exception' with message 'Error [0x8002000f] 非选择性的参数。