$api->registerfunction("int Get(DWORD bb, DWORD* cc, char* dd From aa.dll");
函数的类型声明不能随意修改

解决方案 »

  1.   

    在php4.3.6中怎样定义数据类型呢?
      

  2.   

    DWORD 好象是32位整数吧?好久没用都忘了。
    char* 是字符串指针,传递时用&$dd
    那个cc也是用&$cc
      

  3.   

    $api->registerfunction("int Get(DWORD bb, DWORD* cc, char* dd From aa.dll");
    中DWORD*,char*通不过,不带*就补报错!
    错误提示:
    Fatal error: Function Definition Parse Error: parse error in e:\www\test.php on line 19
      

  4.   

    w32api仅支持long、int、string、byte、bool、double、float、void以及自定义复合类型
      

  5.   

    PHP支持strings, booleans, floats, integers ,nulls和用w32api_deftype()定义的类型 
    但w32api_deftype函数知识用于4.2.0 - 4.2.3那我应该怎么写?
      

  6.   

    <?php
    dl("php_w32api.dll"); 
    $api = new win32;$api->registerfunction("int Get (long bb, long &cc, string &dd) From aa.dll");$dd = str_repeat("\0", 100);
    $api->Get($bb, $cc, $dd);
    echo $dd;
    ?>
      

  7.   

    to:ezdevelop(phpsalon.com) 
    那样用虽然不报错,但返回的值却不正确!api函数应该没问题,同一个库文件我在vb6下就正常!参数值跟在vb6下一个样,但结果就不一样!
      

  8.   

    你详细说一下API接口的函数原型吧,比如申明、参数限制、该返回什么值等。
    不然别人很难根据你的情况来说。
      

  9.   

    具体的我也不知道api提供的接口是:
    EXTERN_C int WINAPI Get(DWORD bb, DWORD* cc, char* dd);在vb中的调用(正确):
    Declare Function Get Lib "aa.DLL" (ByVal bb As Long, ByRef cc As Long, ByVal dd As Any) As Long
      

  10.   

    $api->registerfunction("int Get (long bb, long &cc, string dd) From aa.dll");
    $api->Get($bb, $cc, $dd);
    echo $cc;
      

  11.   

    谢谢ezdevelop(phpsalon.com)
    那样调用还是不行
    我为这个问题郁闷两天了!
    各种类型我都试了!他就是不行!
    看来,我必须得换方法了!
    好像还有一种方法是用com封装,不知道能不能解决我的这个问题?