Förstår inte varför det inte fungerar.
Har skrivit ut alla variabler och kollat att de är rätt. Har skrivit ut och kollat så att de som är strängar är strängar och att de som skall vara long är long.
har kollat att objektet heter rätt osv osv... Kan någon ge mig någon idé på vad som är fel.
Sänder med objektets kod med, men de kommer aldrig in i objektet, det har jag kollat genom att sätta en braekpoint det första som händer i objektet, och dit kommer den aldrig.
felkod:
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'SaveItem'
/SRS_Local/admin/list/edit.asp, line 58
Min kod i ASP.
Dim objItem, liid, mode, id, listid
Set objItem = Server.CreateObject("SRS.ListItem")
listid = Clng(Request("listid"))
If Len(Request("liid")) = 0 Then
liid = -1
Else
liid = CLng(Request("liid"))
End If
mode = Request("mode")
If mode = "edit" Then
Dim dic
Set dic = Server.CreateObject("Scripting.Dictionary")
dic.CompareMode = 2
dic("liname") = Request.Form("liname")
dic("libody") = Request.Form("libody")
dic("liimageid") = Request.Form("liimageid")
id = objItem.SaveItem(listid, liid, dic)
Set dic = Nothing
Set objItem = Nothing
min kod i objektet:
Public Function SaveItem(ByVal lListId As Long, _
ByVal lItemId As Long, _
dic As Scripting.Dictionary) As Long
On Error GoTo errorHandler
Dim sql As String, rs As ADODB.Recordset, k As Variant
sql = "SELECT * FROM tblListItem WHERE lilistid = " & lListId & " liid = " & lItemId
Set rs = GetRecordset(sql, False)
If rs.EOF Then
rs.AddNew
rs("liorder") = GetOrderNumber(lListId)
End If
For Each k In dic.Keys
rs(k) = dic(k)
Next k
rs("lilistid") = lListId
SaveItem = SaveRecordset(rs, "liid")
Set rs = Nothing
CtxSetComplete
Exit Function
errorHandler:
Set rs = Nothing
HandleError g_modName, "SaveItem"
End Function
------------------
National Blonde Day!
"Yeah, bam, bam, bam, bam, bam. I told 'em not to touch the alarm"