백엔드 개발 PHP 튜토리얼 PHP4调用自己编写的COM组件_PHP

PHP4调用自己编写的COM组件_PHP

Jun 01, 2016 pm 12:42 PM
nothing vb 구성 요소 쓰다 소유하다 부르다

搞完了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 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

If num > 0 Then Get_Number_Attrib = 1

If num = 0 Then Get_Number_Attrib = 0

End Function

具体方法如下:新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test

类的文件内容如上。

编译生成p_test.dll文件

二:注册

提示符下运行:regsvr32 p_test.dll

三:编写php文件,test.php4代码如下:

$b=new COM(\"p_test.c_test\");

$a=$b->Test_Number(-454);

echo $a;

?>

运行php4文件将显示-1

可能遇到的问题是,编译工程时通不过,要将

Microsoft Active Server Pages Object Library

引用进来,具体实现“Project->References”找到改库,并勾上

相比之下,PHP4调用com应该比PHP4调用javabean好哦,因为毕竟是Ms系统嘛。大家也可以去自己编写调用数据库的控件,用PHP4调用,从某种程度上,和PHP调用javabean一样,可以说,实现了“隐藏源代码”。

欢迎有兴趣的朋友交流。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 10 이전 버전 구성 요소 DirectPlay를 설치하는 방법 Windows 10 이전 버전 구성 요소 DirectPlay를 설치하는 방법 Dec 28, 2023 pm 03:43 PM

Windows 10 이전 버전 구성 요소 DirectPlay를 설치하는 방법

Nothing Phone(2a) 블루 스페셜 에디션, 강력한 사양과 높은 기대 속에 인도에서 곧 공개될 예정 Nothing Phone(2a) 블루 스페셜 에디션, 강력한 사양과 높은 기대 속에 인도에서 곧 공개될 예정 Apr 27, 2024 pm 06:37 PM

Nothing Phone(2a) 블루 스페셜 에디션, 강력한 사양과 높은 기대 속에 인도에서 곧 공개될 예정

C 언어로 거듭제곱 함수를 계산하는 방법을 작성하세요. C 언어로 거듭제곱 함수를 계산하는 방법을 작성하세요. Feb 19, 2024 pm 01:00 PM

C 언어로 거듭제곱 함수를 계산하는 방법을 작성하세요.

CMF Watch Pro 2의 새로운 디자인은 아무것도 보이지 않으며 CMF Phone 1에 대한 흥미로운 세부 정보가 드러납니다. CMF Watch Pro 2의 새로운 디자인은 아무것도 보이지 않으며 CMF Phone 1에 대한 흥미로운 세부 정보가 드러납니다. Jun 27, 2024 am 10:42 AM

CMF Watch Pro 2의 새로운 디자인은 아무것도 보이지 않으며 CMF Phone 1에 대한 흥미로운 세부 정보가 드러납니다.

Angular 구성 요소 및 해당 표시 속성: 비블록 기본값 이해 Angular 구성 요소 및 해당 표시 속성: 비블록 기본값 이해 Mar 15, 2024 pm 04:51 PM

Angular 구성 요소 및 해당 표시 속성: 비블록 기본값 이해

이전 버전의 win10 구성 요소 설정을 여는 방법 이전 버전의 win10 구성 요소 설정을 여는 방법 Dec 22, 2023 am 08:45 AM

이전 버전의 win10 구성 요소 설정을 여는 방법

C++를 사용하여 간단한 호텔 예약 시스템을 작성하는 방법은 무엇입니까? C++를 사용하여 간단한 호텔 예약 시스템을 작성하는 방법은 무엇입니까? Nov 03, 2023 am 11:54 AM

C++를 사용하여 간단한 호텔 예약 시스템을 작성하는 방법은 무엇입니까?

간단한 학생 과목 선택 시스템을 작성하기 위해 C++를 사용하는 방법은 무엇입니까? 간단한 학생 과목 선택 시스템을 작성하기 위해 C++를 사용하는 방법은 무엇입니까? Nov 02, 2023 am 10:54 AM

간단한 학생 과목 선택 시스템을 작성하기 위해 C++를 사용하는 방법은 무엇입니까?

See all articles