Classic ASP のセッション変数で問題が発生しています。次のコードの 19 行目で、「型の不一致: 'i'」エラーが発生します。
- debug.asp は、私のプログラムの別のモジュールである session.asp に含まれるモジュールです。
<% '---------------------------------------------------------------------------- ' File: /include/script/debug.asp ' Author: Vladimir Charkot ' Create Date: 15/05/2013 ' Description: Generate a server debug log on client '---------------------------------------------------------------------------- Redim debugTable(2,0) Sub initDebug(debugLevel) Session("debugEntries") = 0 Session("debugLevel") = "e" Call debugMsg("e","Debug initialized") End Sub Sub debugMsg(lv, str) If IsEmpty(Session("debugEntries")) Then i = 0 Else i = Session("debugEntries") <-- Line 21, Type mismatch error IF CInt() IS APPLIED TO SESSION VARIABLE End If i = i + 1 <-- Line 23, Type mismatch error Redim Preserve debugTable(2,i) debugTable(0,i-1) = lv debugTable(1,i-1) = str Session("debugEntries") = CInt(i) End Sub Function debugToClient() Dim list Dim func list = jsDebugList() func = jsDebugFunction(list) debugToClient = func End Function Function jsDebugList() Dim i Dim list If IsEmpty(Session("debugEntries")) Then i = 0 Else i = Session("debugEntries") End If list = "[" for n = 0 to i - 2 'Add the last one outside the loop list = list & "{debugLevel : """ & debugTable(0,n) & """, message : """ & debugTable(1,n) & """}, " ' i.e.: {debugLevel : "e", message : "Error on application"}, next list = list & "{debugLevel : """ & debugTable(0,n) & """, message : """ & debugTable(1,n) & """}" list = list & "]" jsDebugList = list End Function Function jsDebugFunction(l) Dim f f = "function debug(){" f = f & " debugList = " & l & ";" f = f & " for (elem in debugList){" f = f & " console.log(elem.debugLevel + "": "" + elem.message);" f = f & " }" f = f & "}" jsDebugFunction = f End Function %>
- これは、デバッグ サブルーチンと関数が呼び出される session.asp 関連コードです。
<!-- #include virtual="/gu/include/script/debug.asp" --> sub InitSession() (...stuff...) Call initDebug("e") end sub sub CheckSession() ' If not a new session, this code has already been executed. if stuff then timeout() end if Call debugMsg("e", "CheckSession() Executed") end sub
- 最後に、session.asp がページ ファイルに含まれています。このファイルをブラウザーで開くと、型の不一致エラーが返されます。
あなたが私を助けてくれることを願っています、私はすでにすべてを試したと本当に思います. ブードゥー、黒魔術、およびその類を除いて。ありがとう!