php调用dll(VS的dll可以,vb的失败)

来源:互联网 发布:淘宝邓紫棋专辑 编辑:程序博客网 时间:2024/06/15 00:39
 

VS2008建立dll

1、new Project/ATL project,取名为ATLHello

2、Add/Class/ATL Simple Object,输入short name 为 test , 然后finish

3、Itest上 Add/Add Method , Method name为show,第一个参数为 in,ULong* pKeys,第二个为out、retrval,BSTR* pReturn

4、实现函数

C:
  1. STDMETHODIMP Ctest::show(ULONG* pKeys, BSTR* pReturn)
  2. {
  3.     // TODO: Add your implementation code here
  4.     *pReturn =::SysAllocString(L"show");
  5.     return S_OK;
  6. }

5、编译后,regsvr32 ATLHello.dll,注册成功则可用。

php中调用dll:

PHP:
  1. <?php
  2.     $com = new COM("ATLHello.test") ordie("无法建立COM组件");
  3.    
  4.     $result = $com->show(50);
  5.     echo '$result = "'.$result.'"<br />';
  6.  
  7.     $com = null;
  8. ?>

附加:

1,用vs做的这个dll在我的机器上面php调用几经成功了。

2,我用VB6.0也做了一个dll,进行注册,用php,通过com调这个dll时,无论我做怎样的尝试,总是提示Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `P_test.c_test': 无效的语法 ' ;

在网上找到com dll 和非com dll在 php调用的方法,也进行了尝试,还是这个错误,真心求高手答疑~

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2岁宝宝受刺激了怎么办 一岁的宝宝口臭怎么办 古话说小孩牙齿掉了怎么办 宝宝三岁胆子小怎么办 小宝宝就是不愿意学说话怎么办 2岁宝宝体重偏重怎么办 三岁宝宝体重偏重怎么办 3岁宝宝说话晚怎么办 孩子吃饭总说话吃饭慢怎么办 我的孩子不聪明怎么办 小孩个子长不高怎么办 晚修自己老喜欢讲话怎么办 宝2岁宝脾气大怎么办 宝宝比同龄孩子发育晚怎么办 早教机构业绩不好怎么办 孩子上早教课哭怎么办 两岁宝宝哭闹不止怎么办 7个月宝宝怕生疏怎么办 5个月宝宝怕洗澡怎么办 4个月宝宝认人怎么办 2岁宝宝语言迟缓怎么办 宝宝老是哭闹不睡觉怎么办 7岁儿童说话晚怎么办 一岁多的婴儿说话晚该怎么办 宝宝甲低300多怎么办 两岁半宝宝还不怎么会讲话怎么办 宝宝两岁半了还不讲话怎么办 两岁宝宝怕生人怎么办 四岁宝宝不说话怎么办 1岁宝宝牙齿黄斑怎么办 儿子俩周半了就是不说话怎么办 两岁宝宝牙齿上有黑渍怎么办 两岁宝宝牙齿发黑怎么办 求帮助宝宝刷牙不会漱口怎么办 牙膏不小心吞了怎么办 宝宝误吃了牙膏怎么办 宝宝吃了30g牙膏怎么办 孩子把牙膏吞了怎么办 二岁宝宝有蛀牙怎么办 3岁宝宝有蛀牙了怎么办 三岁宝宝夜惊怎么办