我已經嘗試了適用於所有其他相關的話題每個幫助,但沒有整理出來的問題,代碼是如下傳遞多維數組從ASP到VB6的dll
VB6(DLL代碼):
Public Function enterorder(vals() As Variant, ordhdr() As Variant) As String
................... code ............
enterorder = "done"
End Function
ASP:
SET objdll = server.createobject("dllproname.classname")
Dim values(1, 4)
Dim ordhdr(1)
dim ret
ordhdr(0) = "1012"
ordhdr(1) = "ASP TESTING descript"
values(0, 0) = "testing "
values(0, 1) = "testing 2"
values(0, 2) = "HO"
values(0, 3) = "2.0000"
values(0, 4) = "12.0000"
values(1, 0) = "testing part 2 "
values(1, 1) = "testing again"
values(1, 2) = "HO"
values(1, 3) = "2.0000"
values(1, 4) = "12.0000"
ret = objdll.EnterOrder(values(), ordhdr())
response.write("Done")
的代碼給錯誤:
微軟的VBScript運行時錯誤'800a0009' 下標超出範圍
我已嘗試刪除多維數組,只發送正常數組,同樣的錯誤仍然存在。
我還試圖去除paranthesis(),同時通過像陣列(objdll.EnterOrder(values , ordhdr)
)它給類型不匹配的錯誤。
我的VB6代碼正在接受字符串數組,但我將其更改爲變體類型,遵循關於幫助主題的一些指導原則,這也沒有幫助。
相同的代碼工作,如果我將此dll添加到vb6項目引用,然後調用相同的功能,它的作品完美。但是與asp相同的代碼不起作用。
謝謝。
也試過,也沒有工作 –
同樣的錯誤,好像我從函數調用中刪除了palenthesis它說「預期的語句結束」,所以爲了函數調用我需要在函數前刪除變量賦值調用 –
它調用該函數,並顯示相同的錯誤,如果我刪除pamentalhesis,也是從函數調用 –