Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aiuto funzione ricorsiva

    Ciao a tutti,
    ho il seguente problema....

    Anzi.. se potete provare pure voi in locale mi date qualche info in più


    Con questo script:

    <% Server.ScriptTimeout = 15
    a = 0
    Sub cane()
    Response.Write(a&"pippo
    ")
    response.Flush()
    Call gatto()
    End Sub
    Sub gatto()
    Response.Write(a&"pippo
    ")
    a = a+1
    response.Flush()
    Call cane()
    End Sub
    Call cane() %>

    Arrivo fino a: 221pippo

    ovvero il comando viene ripetuto 222 volte prima di bloccarsi.
    l'errore che ottengo è:

    Errore di run-time di Microsoft VBScript error '800a0007'
    Memoria esaurita: 'Flush'

    Lo stesso script, su un server di aruba, arriva a 369:
    (http://www.biciclettepieghevoli.com/a.asp)

    Su un server di seeweb (http://vacanzeinriviera.it/a.asp) dalle 128 alle 133

    Stesso errore...

    Se io avessi la necessità di uno script del genere.... che faccia però 400 passaggi..... e poi "esca" tramite un semplice if...

    If a > 400 Then...

    Come posso fare?
    C'è un modo per aumentare la capacità di.... di non so cosa... dello stack?



    Grazie a chiunque mi sappia aiutare!

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: L'unico modo che ho trovato è questo
    codice:
    <% 
    Server.ScriptTimeout = 15
    a = 0
    Sub cane()
    	for i = 1 to 1000
    	    Response.Write(a &"pippo
    ")
    	    a = a + 1
    	    response.Flush()
    	    Call gatto()
    	next
    End Sub
    
    Sub gatto()
    	Response.Write(a & "pippo
    ")
    	a = a + 1
    	response.Flush()
    	'Call cane()
    End Sub
    
    Call cane() 
    
    %>
    Pietro

  3. #3
    Cavolo ma sei un genio!!!!!!

    In questo modo la funzione non è più ricorsiva e funziona alla grande!!!

    Come cavolo ho fatto a non pensarci prima!!!


    Grazie mille!!!!!!



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.