Newsgroup: it.comp.www.asp
Titolo: Problemi global.asa

Vi è mai capitato di avere problemi di compatibilità di variabili nel
global.asa?
Se qualcuno è pratico, si faccia sentire: ho un problema da sottoporre.
Grazie
Fabio

 Se qualcuno è pratico, si faccia sentire: ho un problema da sottoporre.
il ng è pensato per questo
-- 
Christian Paparelli
http://www.ithost.ch
 

Mi spiego subito: vi allego il global.asa completo. Come noterai, è
suddiviso in due scripts. QUESTO global.asa che ti allego non funziona,
mentre se cancello le righe di uno dei due script (lasciandone così solo
uno), il global funziona benissimo. Qual è il problema?
- - - - - - - ECCO IL GLOBAL.ASA - - - - - - -
// Primo script
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnStart
 'Set session variable for virtual-directory test
 Session("ChatInitialised")=True
End Sub
Sub Session_OnEnd
 Dim vChatName, vChatUsers, vChatMoods, vUserCount
 Dim vRoomNo
 Dim m, n
 vRoomNo = Session("RoomNo")
 vChatName = "" & Session("ChatName")
 If vChatName <> "" Then
  Application.Lock
  vUserCount = CLng(Application("UserCount" & vRoomNo))
  If vUserCount < 2 Then
   vChatUsers = ""
   vChatMoods = ""
   vUserCount = 0
  Else
   vChatUsers = Application("ChatUsers" & vRoomNo)
   vChatMoods = Application("ChatMoods" & vRoomNo)
   For n = 0 To vUserCount - 1
    If vChatUsers(n) = vChatName Then
     For m = n To vUserCount - 2
      vChatUsers(m) = vChatUsers(m+1)
      vChatMoods(m) = vChatMoods(m+1)
     Next
     vUserCount = vUserCount - 1
     Redim Preserve vChatUsers(vUserCount)
     Redim Preserve vChatMoods(vUserCount)
     Exit For
    End If
   Next
  End If
  Application("ChatUsers" & vRoomNo) = vChatUsers
  Application("ChatMoods" & vRoomNo) = vChatMoods
  Application("UserCount" & vRoomNo) = vUserCount
  AddLineToChat vRoomNo, "**" & vChatName & " è stato disconnesso
(inattività)**"
  Session("ChatName") = ""
  If vUserCount = 0 Then
   Application("ChatLines" & vRoomNo) = ""
   Application("ChatLineCount" & vRoomNo) = 0
   Application("ChatMaxLines" & vRoomNo) = 0
  End If
  Application.Unlock
 End If
End Sub
Sub AddLineToChat (ByVal vRoomNo, ByVal vNewLine)
 Dim vCurrentLine, vChatLines, vMaxLines
 vCurrentLine = Application("ChatLineCount" & vRoomNo)
 vChatLines = Application("ChatLines" & vRoomNo)
 vMaxLines = Application("ChatMaxLines" & vRoomNo)
 vCurrentLine = vCurrentLine + 1
 If vCurrentLine > vMaxLines Then
  vMaxLines = vMaxLines + 500
  If vCurrentLine = 1 Then
   Redim vChatLines(vMaxLines)
  Else
   Redim Preserve vChatLines(vMaxLines)
  End If
  Application("ChatMaxLines" & vRoomNo) = vMaxLines
 End If
 vChatLines(vCurrentLine - 1) = vNewLine
 Application("ChatLines" & vRoomNo) = vChatLines
 Application("ChatLineCount" & vRoomNo) = vCurrentLine
End Sub
</SCRIPT>
// Secondo script
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
application("collegati")=0
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
application.lock
application("collegati")=application("collegati")+1
application.unlock
End Sub
Sub Session_OnEnd
application.lock
application("collegati")=application("collegati")-1
application.unlock
End Sub
</SCRIPT>
- - - - - - - FINE DEL GLOBAL.ASA - - - - - - -

 uno), il global funziona benissimo. Qual č il problema?
ehm ma quali righe cancelli???


Come hai notato l'intero codice del global è diviso in due parti (indicate
dai commenti.. //  ). Insieme le due parti di codice danno origine a un
global.asa che non funziona; eliminandone una delle due, tutto è ok. C'è
incompatibilità, ma dove?
Fabio

 ha scritto nel messaggio 
news:egjLe.6269$zs....@tornado.fastwebnet.it...

semplicemente non puoi definire 2 volte la stessa funzione session_onstart e 
session_onend pertanto unificale


Sinceramente non sono molto esperto di ASP. Potresti copia-incollarmi il
codice effettuando le modifiche da te indicate? Ti ringrazio.
Per comodità ti riporto il codice.


 codice effettuando le modifiche da te indicate? Ti ringrazio.
sorry ma come faccio a generarti un codice tuo?? senza sapere cosa fa??
Come ti ho già detto nel post precedente il global.asa da errore per il 
semplice fatto che hai definito 2 volte session_onstart e quindi  cancella 
uno dei 2 ed unisci il codice.


La prima parte dello script serve a inizializzare la chat del mio sito, la
seconda parte a contare quanti utenti sono connessi in un particolare
momento. Ho provato a fare come dici tu, ma non funziona. Non protesti
aiutarmi a creare il codice corretto, semplicemente apportando le modifiche
da te indicate? Mi faresti una cortesia, grazie.
Fabio

 ha scritto nel messaggio
news:QvMKe.5113$zs....@tornado.fastwebnet.it...


Chiarissimo quello che mi hai detto, purtroppo sono un principiante: non
potresti applicare quanto detto al codice che vi ho allegato in questo post?
Grazie mille
Fabio

> potresti applicare quanto detto al codice che vi ho allegato in questo
post?
No, dovrei testarlo, e proprio non ce la faccio, giuro...
-- 
Armand Federico
www.armand.it