Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Errore 28 Spazio dello stack esaurito

384 views
Skip to first unread message

poluz

unread,
Sep 24, 2010, 12:54:22 PM9/24/10
to
Un bel problema...
Ho un file condiviso che ogni 90 secondi mi lancia delle macro per
aggiornare, salvando, le modifiche fatte da altri utenti,
Dopo 6 / 7 ore di funzionamento mi esce l'errore 28 Spazio dello stack
esaurito, mi blocca il file e anche gli altri utenti non sono in grado
di salvare.
Il problema si pone anche se il file non è condiviso... :-(
Altra cosa che ho notato che il file originalmente è 1 Mb circa, dopo
7 ore, prima del crash, diventa anche 17 Mb.
L'aumento di dimensioni avviene anche senza inserire dati ultriori.
Anche solo salvandolo aumenta di dimensioni
Che cosa posso verificare?

Saluti
Alberto

r

unread,
Sep 24, 2010, 5:14:00 PM9/24/10
to
On 24 Set, 18:54, poluz <po...@libero.it> wrote:

> Che cosa posso verificare?

suppongo ... il tuo codice.
normalmente è un errore che viene generato da routine ricorsive ...
hai provato a guardate le informazioni ? nel messaggio di errore?

eventualmente puoi provare a postare il codice della routine
incriminata
saluti
r

poluz

unread,
Sep 27, 2010, 2:34:33 AM9/27/10
to

Ho fatto altre prove e in effetti le dimensioni del file aumentano
solo quando è condiviso....
Premetto che il VBA non è il mio mestiere, comunque le routines
interessate sono queste:

Grazie per l'interessamento
Alberto


Public auto As Boolean
----------------------

Sub refresh()
If auto = True Then

Application.OnTime Now + TimeValue("00:00:01"), "ContoRovescia"

End If
----------------------
End Sub
Sub ContoRovescia()

If ContoR = 0 Then
ContoR = 90
End If
ContoR = ContoR - 1

If ContoR < 1 Then
ContoR = 90
auto = False


Application.Run "AggiornamentoOrdini"
auto = True
Application.Run "refresh"
UserFormMag.Show


End If
Range("Dati!C2").Value = ContoR
UserFormMag.ProgressBar1.Value = (Range("dati!C2").Value)
Application.Run "refresh"

End Sub
----------------------------------------------------------------------
dentro la routine "aggiornamento ordini", viene richiamata la routine
di salvataggio:

----------------------------------------------------------------------
Sub salvaMag()
Dim ContMag As Byte
1:
If ContMag > 5 Then
MsgBox "Sono stati superati 5 tentativi di salvataggio. Big Parts non
riesce a effettuare il salvataggio degli ordini ricevuti."
Application.Run "StoricoErrSalvataggi"

Exit Sub
End If


On Error Resume Next

Calculate

ActiveWorkbook.Save


If Err.Number = 1004 Then
Application.Run "StoricoContemporSalvataggi"
Application.Wait (Now + TimeValue("0:00:05"))

ContMag = ContMag + 1
Range("Dati!FJ21").Value = ContMag
GoTo 1

ContMag = 0
Exit Sub
End If
ContMag = 0
Resume
End Sub

0 new messages