【发布时间】:2011-11-01 23:35:21
【问题描述】:
我正在用 asp 做一个旧项目 在我成为 .net 开发人员之前,我从未使用过 vb6 或 asp
不管怎样
我制作了一个 .net dll 并更改了一些编译选项以使其与 vb6 一起使用 代码无关紧要
我在 vb6 中制作了一个“包装器”dll
Public Function EncryptWrapper(ByVal parameterstring As String, ByVal isShaIn As String, ByVal HashType As String) As String
Dim o
Set o = CreateObject("SHA1Module.Conversion")
EncryptWrapper = CStr(o.EncryptToSHA1(CStr(parameterstring), CBool(isShaIn), CLng(HashType)))
End Function
以及在 vb6 中调用它的表单
Private Sub Command1_Click()
Dim message
Dim myObject
Set myObject = CreateObject("SHAModuleWrapper.Encryption")
message = myObject.EncryptWrapper(txtIn.Text, "1", "2")
Set myObject = Nothing
txtOut.Text = message
End Sub
效果很好
现在在 asp 中,我尝试调用该 dll,但出现错误
<% Dim strMessage
Dim message
strMessage = "hello"
Dim myObject
Set myObject = Server.CreateObject("SHAModuleWrapper.Encryption")
message = myObject.EncryptWrapper("testdagtestdagtest", "1", "0")
Response.Write(message)
%>
这是错误信息
SHAModuleWrapper 错误“800a0005”
无效的过程调用或参数
/asptest/Default.asp,第 15 行
不是参数也不是输出 正是这部分造成了麻烦
**Dim o
Set o = CreateObject("SHA1Module.Conversion")
EncryptWrapper = CStr(o.EncryptToSHA1(CStr(parameterstring), CBool(isShaIn), CLng(HashType)))**
有人有想法吗?
【问题讨论】:
标签: dll com vb6 vbscript asp-classic