日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

php 打开动态链接,php调用com组件-dll文件(动态链接库)

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 打开动态链接,php调用com组件-dll文件(动态链接库) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是COM?

COM(Component

Object Model)組件對象模型,是一種跨應用和語言共享二進制代碼的方法。是位于DCE

RPC上部的對象指向層(關聯服務)定義公共的調用協定以允許用不同語言編寫的代碼調用,并允許其它語言代碼進行交互操作(前題是代碼是COM明白的),COM可以作為DLL被本機程序載入也可以通過DCOM被遠程進程調用。

準備工作

比如我作了一個COM組件,新建一個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文件

第一步,做為一個COM組件,這個DLL要被系統識別就要先到系統來報到

regsvr32

[路徑]\[組件文件名]

regsvr32

C:\WINDOWS\system32\p_test.dll?放在系統文件夾system32下不容易出現權限問題

這時候這個文件就不能移動位置了,系統會在用到它時到這個目錄來找,如果改目錄就得先刪除注冊再重新注冊

regsvr32 /u

[路徑]\[組件文件名]

系統會顯示窗口表示成功,大意是 組件Dllregister成功或是Dllunregister成功

第二步就可以直接調用它了

<?

$b=new COM("p_test.c_test");?//一般前邊是它的主文件名后邊是它的類名從注冊表里找這個文件可以找到

這樣就生成了一個叫b的對象,我們就可以用它的屬性和方法來操作了

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

echo $a;

?>

可能遇到的問題是,編譯工程時通不過,要將

Microsoft Active Server Pages Object

Library?引用進來,具體實現"Project->References"找到改庫,并勾上 。

可能你的情況會不一樣,便絕對可用。

總結

以上是生活随笔為你收集整理的php 打开动态链接,php调用com组件-dll文件(动态链接库)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。