Я работаю над старым проектом в asp, я никогда не работал с vb6 или asp, пока я не стал разработчиком .net
В любом случае
Я сделал dll .net и изменилнекоторые опции компиляции, чтобы он работал с vb6, код не имеет значения
Я сделал dll "wrapper kinda" в vb6
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 error '800a0005 '
Недопустимый вызов или аргумент процедуры
/ asptest / Default.asp, строка 15
Проблема связана не с параметрами или выходными данными, а с этой частью,
**Dim o
Set o = CreateObject("SHA1Module.Conversion")
EncryptWrapper = CStr(o.EncryptToSHA1(CStr(parameterstring), CBool(isShaIn), CLng(HashType)))**
У кого-нибудь есть идеи?