Oppure

Loading
21/10/09 15:55
ashman
ciao un programma che ho creato è stato fatto apposta per andare in loop e a continuare a fare operazioni, il problema è che dopo un po il probramma si ferma dandomi un errore strano, cioè memoria virtuale insufficiente (se non vado errando)
c'è un operazione che mi permette di continuare il mio loop senza dovere interrompere il programma?? qualchosa che mi resetti la memoria e continui le varie operazioni

- le variabili all interno dell loop si salvano ogni volta su un block note e vengono ricaricate ogni volta ho fatto cosi per evitare problemi come questo in cui sono costretto a fermarmi senza sapere dove sono arrivato
- il programma non va in loop eterno in quanto cliccando su un altro pulsante il loop si ferma
- il problema si verifica penso intorno a 20-30 minuti di loop no arriva a 2 ore o cose mastodontiche



grazie a tutti ^^
se avete funzioni per superare il problema ve ne sarei grato poi se perdo le variabili trovero il modo per superare questo problema ( considerando che le ho in un blocknote il problema sta solo a inserire nel giusto spazio il codice)
aaa
21/10/09 16:22
theprogrammer
Bisogna capire cosa fai nel loop perche' quell'errore indica che sono presenti memory leak ... e devi rimediare correggendo il codice, non in altro modo ...
aaa
21/10/09 18:46
ashman
memory leak sarebbe??? io apro salvo e elimino in un giro di loop 1 blok note nel quale ci sono delle variabili eccetto cio non ci sono variabili che si aumentano tipo x=x+1 mandare in loop tramite do while i < 100 (e non incrementare mai la i crea questo fenomeno?)

aaa
21/10/09 18:47
theprogrammer
Postato originariamente da ashman:

memory leak sarebbe??? io apro salvo e elimino in un giro di loop 1 blok note nel quale ci sono delle variabili eccetto cio non ci sono variabili che si aumentano tipo x=x+1 mandare in loop tramite do while i < 100 (e non incrementare mai la i crea questo fenomeno?)



Metti qualche virgola quando scrivi, altrimenti manca il fiato e non si capisce nulla ...

Non ho capito cosa fai ... ma e' difficile postare il codice? Cosi' ci capiamo meglio ...
aaa
21/10/09 19:47
aazzarone
Si ha un memory leak quando non si provvede alla deallocazione di variabili non più utilizzate...
aaa
24/10/09 8:50
ashman
Postato originariamente da aazzarone:

Si ha un memory leak quando non si provvede alla deallocazione di variabili non più utilizzate...

come si fa a deallocare le variabili????


il codice eccolo:

Dim codx As codes
Dim aaa(1 To 10) As Integer
Dim bbb(1 To 10) As String * 1
Dim ii As Integer
Dim xxx As String * 8
aaa(1) = 0
aaa(2) = 1
aaa(3) = 2
aaa(4) = 3
aaa(5) = 4
aaa(6) = 5
aaa(7) = 6
aaa(8) = 7
aaa(9) = 8
aaa(10) = 9
bbb(1) = "a"
bbb(2) = "b"
bbb(3) = "c"
bbb(4) = "d"
bbb(5) = "e"
bbb(6) = "f"
bbb(7) = "g"
bbb(8) = "h"
bbb(9) = "i"
bbb(10) = "l"
codx.a = 1
codx.b = 1
codx.c = 1
codx.d = 1
codx.e = 1
codx.f = 1
codx.g = 1
codx.h = 1
ii = 1
Open "indici.dat" For Random As #1 Len = Len(codx)
Get #1, 1, codx
Close #1
Do While ii <= 100
Kill "indici.dat"
Open "indici.dat" For Random As #1 Len = Len(codx)
Put #1, 1, codx
Close #1
wb.Navigate ("google.it";;)
DoEvents
Do Until Not wb.Busy
DoEvents
Loop
If codx.a = 11 Then
codx.a = 1
codx.b = codx.b + 1
End If
If codx.b = 11 Then
codx.b = 1
codx.c = codx.c + 1
End If
If codx.c = 11 Then
codx.c = 1
codx.d = codx.d + 1
End If
If codx.d = 11 Then
codx.d = 1
codx.e = codx.e + 1
End If
If codx.e = 11 Then
codx.e = 1
codx.f = codx.f + 1
End If
If codx.f = 11 Then
codx.f = 1
codx.g = codx.g + 1
End If
If codx.g = 11 Then
codx.g = 1
codx.h = codx.h + 1
End If
If codx.h = 11 Then
codx.h = 1
End If
xxx = Trim(bbb(codx.a)) + Trim(Str(aaa(codx.b))) + Trim(Str(aaa(codx.c))) + Trim(Str(aaa(codx.d))) + Trim(bbb(codx.e)) + Trim(bbb(codx.f)) + Trim(bbb(codx.g)) + Trim(bbb(codx.h))
'MsgBox (xxx)
'ii = ii + 1 'LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOP
codx.a = codx.a + 1

wb.Document.Forms(0).CODE0.Value = Trim(xxx)
DoEvents
wb.Document.Forms(0).submit
DoEvents
Do Until Not wb.Busy
DoEvents
Loop
tentativi.Caption = xxx
If stop_c.Value = 1 Then
ii = 101
MsgBox ("bom";)
End If
Loop
End Sub
aaa
24/10/09 9:05
theprogrammer
Cosa dire ... :asd:

Ma che dovrebbe fare questo insieme di istruzioni ?
aaa
24/10/09 19:02
ashman
cercare un codice sempre diverso...
il problema è k le variabili mi servono tutte se non esiste la possibilita di resettare la memoria si puo volendo dare delle istruzioni che riaprano il medesimo programma e clicchino le varie impostazioni e che poi lo faccia partire chiudendo il programma di partenza....


mannaggia a vb un problema del genere non me lo aspettavo.. e soprattutto non mi aspettavo che non esissero soluzioni
aaa