webForumDet fria alternativet
Logga in / Bli medlem

Returnera från VB komponent

ASP

10 svar · 242 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Trådstart#1

Om man skriver så här i en VB komponent. Hur returneras det sen? Vad skiver man i ASP koden?

Public Function Login(ByVal sMemberName As String, _
    ByVal sPassword As String) As Boolean

    On Error GoTo errorHandler

    Dim rs As ADODB.Recordset
    Set rs = GetMemberByName(sMemberName)

    Login = ValidatePassword(sMemberName, sPassword, rs("Password"))

    Set rs = Nothing

    CtxSetComplete
    Exit Function

errorHandler:
    Set rs = Nothing
    HandleError g_modName, "Login"
End Function
Medlem sedan dec. 19998 577 inlägg
#2

Det beror väl på vad "ValidatePassword" returnerar...

Medlem sedan maj 200010 687 inlägg
#3

True/False..

Medlem sedan juni 200032 967 inlägg
#4
if login(bla, bla) then
'jamen!
else
'nämen
end if

typ.

Medlem sedan maj 200010 687 inlägg
#5

If Login(true) Then..?

Medlem sedan juni 200032 967 inlägg
#6

du har väl skapat ditt objekt i asp-koden? det blir vällan nåt sånt härnt dåra:

if objLoginobjektet.login(sMemberName, sPassword) then ...
Medlem sedan maj 200010 687 inlägg
#7

Så här har jag skrivit:

<%	
Set objEClub = Server.CreateObject("IABEClub.Member")
Set login = objEClub.Login(Request("name"), Request("password"))
Set objEClub = Nothing

If Login(true) Then
	Response.Write "Rätt!"
Else
	Response.Write "Fel!"
End If
%>
Medlem sedan dec. 19998 577 inlägg
#8

Då skall det räcka med:

If Login Then
Response.Write "Rätt!"
Else
Response.Write "Fel!"
End If

Eftersom If-satsen redan letar efter ett booelskt värde...

Medlem sedan maj 200010 687 inlägg
#9

Att skriva så som @nders skrev funkade. Men inte så som du skrev Vide.

Får detta felmeddelande:

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'objEClub.login(...)'
/eclub_local/login.asp, line 3

Medlem sedan juni 200032 967 inlägg
#10

erik, i din kod ovan skriver du så här:

Set login = objEClub.Login(Request("name"), Request("password"))

du skall där inte använda set, eftersom det inte är ett objekt du får tillbaka, utan en boolean.

om du tar bort set från den raden så borde det fungera att göra på vides sätt också.

mvh,

Medlem sedan maj 200010 687 inlägg
#11

Jepp, funkade!
Tack för hjälpen Vide och @nders! :)

274 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)