如何用PHP调用自己编写的COM组件?

首先写ActiveX Dll:
  新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test ,类的文件内容如下:
  
  Option Explicit
  Private MyScriptingContext As ScriptingContext
  Private MyApplication As Application
  Private MyRequest As Request Private MyResponse As Response
  Private MyServer As Server
  Private MySession As Session Public
  
  Sub OnStartPage(PassedScriptingContext As ScriptingContext)
  Set MyScriptingContext = PassedScriptingContext
  Set MyApplication = MyScriptingContext.Application
  Set MyRequest = MyScriptingContext.Request
  Set MyResponse = MyScriptingContext.Response
  Set MyServer = MyScriptingContext.Server
  Set MySession = MyScriptingContext.Session
  End Sub
  
  Public Sub OnEndPage()
  Set MyScriptingContext = Nothing
  Set MyApplication = Nothing
  Set MyRequest = Nothing
  Set MyResponse = Nothing
  Set MyServer = Nothing
  Set MySession = Nothing
  End Sub
  
  Public Function Test_Number(num) As Variant
  If num < 0 Then Get_Number_Attrib = -1
  If num > 0 Then Get_Number_Attrib = 1
  If num = 0 Then Get_Number_Attrib = 0
  End Function
  
  编译生成p_test.dll文件
  
  注册
  
  提示符下运行:regsvr32 p_test.dll
  
  编写php文件,test.php4代码如下:
  
  <?
  $b=new COM("p_test.c_test");
  $a=$b->Test_Number(-454);
  echo $a;
  ?>
  
  可能遇到的问题是,编译工程时通不过,要将Microsoft Active Server Pages Object Library引用进来,具体实现"Project->References"找到改库,并勾上 。

时间: 2024-08-04 11:37:35

如何用PHP调用自己编写的COM组件?的相关文章

vc++-新人求帮助:VC6 调用delphi编写的com组件函数 报错

问题描述 新人求帮助:VC6 调用delphi编写的com组件函数 报错 代码: IElectric *ptr = NULL; CLSID clsid; HRESULT hr = CLSIDFromString((LPOLESTR)L"{18F86FFB-158B-42D6-9203-C4197A4E76FE}",&clsid); hr = CoInitialize(0); if(!SUCCEEDED(hr)) { int nCode = GetLastError(); } h

PHP4调用自己编写的COM组件

搞完了PHP4调用JavaBean,又想去试试调用COM,开始以为很难,自己用VB6写了一个Active Dll在PHP4中调用,马上成功,比调用javabean方便多了,下面讲一下我的步骤. 一:用VB6写Activex Dll 代码如下: Option Explicit Private MyScriptingContext As ScriptingContext Private MyApplication As Application Private MyRequest As Request

PHP4 调用自己编写的 COM 组件

作者:东方一蛇 搞完了PHP4调用JavaBean,又想去试试调用COM,开始以为很难,自己用VB6写了一个Active Dll在PHP4中调用,马上成功,比调用javabean方便多了,下面讲一下我的步骤.下载的版本是从http://www.mm4.de/.一:用VB6写Activex Dll 代码如下: Option Explicit Private MyScriptingContext As ScriptingContext Private MyApplication As Applica

PHP调用VC编写的COM组件实例_php实例

  一.用VC创建COM组件 1.vc新建项目 -> ATL项目,输入名称ComTest,ComTest将作为COM组件的名称. 2.到了ATL项目向导,不需要改动,完成向导.向导完成后,vc将会自动生成一系列的程序. 3.切换到类视图,在ComTest项右键,添加类,选择ATL简单对象, 4.来到ATL简单对象向导,输入你要新建的类名 MyClass,完成向导.(注意了,还要填写ProgID,有些vs会自动补全) 5.回到类视图中,在IMyClass右键,添加方法,将会进入添加方法的向导. 6

一步一步学Silverlight :在Silverlight中如何用JavaScript调用.NET代码

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章将从Silverlight 2基础知识.数据与通信.自定义控件.动画.图形图像等几个方面带您快速进入Silverlight 2开发. Silv

网页页面中如何用Javascript调用Flash动画?

flash动画|javascript|网页|页面 问:网页页面中如何用Javascript调用Flash动画? 答: 在<HEADE>区加入  程序代码 <script src="js/flash.js" type="text/javascript"></script> 在调用FLASH处加入  程序代码 <script language="JavaScript" type="text/java

如何用java调用bartender打印条码

问题描述 如何用java调用bartender打印条码 如何用java调用bartender打印条码如何用java调用bartender打印条码如何用java调用bartender打印条码 解决方案 java调用条码打印机指令进行打印 解决方案二: 同求.............

c++-如何用java或者C++编写一个可以验证网络IP接入段合法性并且控制其流量的简易服务器呢?

问题描述 如何用java或者C++编写一个可以验证网络IP接入段合法性并且控制其流量的简易服务器呢? 本人不是学编程,但是毕业设计里面需要做这个 ,希望各路大神不吝赐教 解决方案 http://wenku.baidu.com/link?url=j_QVex7Ffpzw6nOsgiUK3NIdDmNy0sSKt1WuWluBvu6Y9b1Xd41XMPXeDLa5W9zdVErzoScQCyjj_1T1EygG8cX3GaJsr3zxrtOtWI8ZIvO 解决方案二: 计算单位时间write的数

vc++-VC++如何调用C#编写的串口驱动 DLL

问题描述 VC++如何调用C#编写的串口驱动 DLL 最近弄一个串口打印的项目,我一直是用VC++进行开发的,c#没用过,但是对方提供的打印机的DEMO却是C#的例程,本来想着DLL是跨语言的,应该没什么问题,但是我用vc++编写了一个测试程序,确没有任何数据输出,很简单的例程,我按流程在上面加了打开串口,设置串口,发送数据,关闭串口.这几步都是用的现成的dll里面的函数,他把串口的数据操作也封装起来了,然后我就想到,在c#中是可以直接用库函数对串口读写,是不是因为这个原因,导致我在vc++中不