'vb的dll檔案函式
Public Function my_yuming()
my_yuming = Request.ServerVariables("Server_name")
End Function
Public Function my_shu()
my_shu = 1 + 2
End Function
php呼叫這個dll檔案my_yuming函式錯誤
但是呼叫my_shu函式是正常的,顯示3
asp呼叫這個dll檔案my_yuming函式正常顯示
請問PHP怎么在dll檔案函式中直接獲取域名資訊?
uj5u.com熱心網友回復:
upup
up
up
uj5u.com熱心網友回復:
00.php原始碼:<?php
$obj = new COM("zcy_gch_php.zcy_class");
//$output=$obj->my_shu();
//echo $output; // 顯示結果
$output=$obj->my_yuming();
echo $output; // 顯示結果
?>
出錯資訊:
<b>Fatal error</b>: Uncaught exception 'com_exception' with message '<b>Source:</b> zcy_gch_php<br/><b>Description:</b> 未設定物件變數或 With block 變數' in D:\ceshi\www\00.php:8
Stack trace:
#0 D:\ceshi\www\00.php(8): com->my_yuming()
uj5u.com熱心網友回復:
試試:Public Function my_yuming() as string
uj5u.com熱心網友回復:
既然提示“未設定物件變數”,那是不是PHP呼叫時 Request這個物件未創建?在dll代碼中加個判斷試試:
Public Function my_yuming()
if Request is nothing then
my_yuming = "Error."
else
my_yuming = Request.ServerVariables("Server_name")
endif
End Function
uj5u.com熱心網友回復:
懷疑是VB6的string結構 PHP并不認識,建議用strconv轉換為位元組陣列回傳去,PHP再處理一下。
uj5u.com熱心網友回復:
我改成:
Public Function my_yuming()
aa = Request.ServerVariables("Server_name")
my_yuming = "8888"
End Function
PHP呼叫時還是出錯:
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `zcy_gch_php.zcy_class': ClassFactory 無法供應請求的類別 ' in D:\ceshi\www\00.php:6 Stack trace: #0 D:\ceshi\www\00.php(6): com->com('zcy_gch_php.zcy...') #1 {main} thrown in D:\www.hefei163.com\www\00.php on line 6
是不是說明:PHP不能呼叫的函式不能使用Request.ServerVariables("Server_name")
uj5u.com熱心網友回復:
我改成:
Public Function my_yuming()
aa = Request.ServerVariables("Server_name")
my_yuming = "8888"
End Function
PHP呼叫時還是出錯:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> zcy_gch_php<br/><b>Description:</b> 未設定物件變數或 With block 變數' in D:\ceshi\www\00.php:11 Stack trace: #0 D:\ceshi\www\00.php(11): com->my_yuming() #1 {main} thrown in D:\ceshi\www\00.php on line 11
是不是說明:PHP不能呼叫的函式不能使用Request.ServerVariables("Server_name")
如果想dll呼叫域名資訊,怎么進行處理
(說明:6樓錯誤資訊不對,是每次dll重新復制后都要注冊,那個資訊是沒有注冊導致,csdn論壇回復不能重新編輯,哈哈)
uj5u.com熱心網友回復:
Public Function my_yuming()aa = Request.ServerVariables("Server_name")
my_yuming = strconv(aa,vbfromunicode)
End Function
試試
uj5u.com熱心網友回復:
測驗了,還是一樣的出錯資訊:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> zcy_gch_php<br/><b>Description:</b> 未設定物件變數或 With block 變數' in D:\ceshi\www\00.php:11 Stack trace: #0 D:\ceshi\www\00.php(11): com->my_yuming() #1 {main} thrown in D:\ceshi\www\00.php on line 11
uj5u.com熱心網友回復:
未設定物件變數或 With block 變數是不是com都沒正常加載啊
uj5u.com熱心網友回復:
同樣的dll檔案,asp可以正常顯示的
<%
Dim zcyzzzm
Set zcyzzzm = Server.CreateObject("zcy_gch_php.zcy_class")
Response.Write(zcyzzzm.my_yuming())
%>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/11965.html
標籤:VB基礎類
上一篇:vb實時錯誤424,怎么辦?
