php调用dll(VS的dll可以,vb的失败)
2011-08-15 16:01
381 查看
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:
STDMETHODIMP Ctest::show(ULONG* pKeys, BSTR* pReturn)
{
// TODO: Add your implementation code here
*pReturn =::SysAllocString(L"show");
return S_OK;
}
5、编译后,regsvr32 ATLHello.dll,注册成功则可用。
php中调用dll:
PHP:
<?php
$com = new COM("ATLHello.test") or
die("无法建立COM组件");
$result = $com->show(50);
echo '$result = "'.$result.'"<br />';
$com = null;
?>
附加:
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调用的方法,也进行了尝试,还是这个错误,真心求高手答疑~
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:
STDMETHODIMP Ctest::show(ULONG* pKeys, BSTR* pReturn)
{
// TODO: Add your implementation code here
*pReturn =::SysAllocString(L"show");
return S_OK;
}
5、编译后,regsvr32 ATLHello.dll,注册成功则可用。
php中调用dll:
PHP:
<?php
$com = new COM("ATLHello.test") or
die("无法建立COM组件");
$result = $com->show(50);
echo '$result = "'.$result.'"<br />';
$com = null;
?>
附加:
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调用的方法,也进行了尝试,还是这个错误,真心求高手答疑~
相关文章推荐
- VS2015编写能够被vb\delphi等调用的dll
- 使用c#创建php可以调用的dll
- Java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案
- unity,vs出现调用dll失败问题
- sqlserver 2000 触发器 存储过程调用外部dll,可以使vb,vc,delphi生成
- sqlserver 2000 触发器 存储过程调用外部dll,可以使vb,vc,delphi生成
- Java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案
- 使用c#创建php可以调用的dll
- 解决“ .dll(或.ocx)控件已加载,但对DllregisterServer的调用失败,错误代码为0x80004005”问题的两种终极方法:SubInACL安装 VS 命令提示符
- DllRegisterServer的调用失败,错误代码为0x80040200 (vista、Win7手动注册ocx dll问题)
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- C#调用C/C++编译的DLL失败的一种情…
- 不同版本VS生成的动态库是否可以 4000 相互调用?
- VB中的String类型调用VC的DLL
- C#、VB.NET与三菱Q02、QJ71E71、L02、LJ71E71、FX3U、FX5U等通讯的DLL及调用源代码
- 在VB应用程序中调用VC环境下开发的DLL
- vs.net 2005 创建COM组件给VB调用
- 怎样在VB.NET编写一个DLL供VB6.0调用?
- php调用dll的实例操作动画