Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Vb.net Errore System.StackOverflowException non è stata gestita
Forum - C# / VB.NET - Vb.net Errore System.StackOverflowException non è stata gestita - Pagina 3

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 13:53
Giovedì, 01/04/2010
io l'ho fatto
mi sono servito di un backgroundworker e di un folderbrowserdialog
che fa il mio stesso codice di prima, usando una list(of string) anzichè una listbox
l è: dim l as new list(of string)
Codice sorgente - presumibilmente VB.NET

  1. Dim dir1 As String()
  2.         Dim a As Integer
  3.         Dim path As String = FolderBrowserDialog1.SelectedPath
  4.         Do
  5.             dir1 = IO.Directory.GetDirectories(path)
  6.             l.AddRange(dir1)
  7.             path = l.Item(a)
  8.             a += 1
  9.             If a >= l.Count Then Exit Do
  10.         Loop


e nell'evento RunWorkerCompleted ho messo
Codice sorgente - presumibilmente Plain Text

  1. ListBox1.Items.AddRange(l.ToArray)


PM Quote
Avatar
marco444 (Normal User)
Rookie


Messaggi: 55
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 11:32
Venerdì, 02/04/2010
ragazzi, non chiedetemi perchè ma sostituendo on errore resume next con try catch end try, ho risolto tutto, e mi legge tutti i file in pochi secondi.

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 11:46
Venerdì, 02/04/2010
la cosa non mi torna però in tal caso
la discussione si può chiudere

PM Quote
Avatar
marco444 (Normal User)
Rookie


Messaggi: 55
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 12:13
Venerdì, 02/04/2010
non torna neanche a me, però funziona,
faccio un'ipotesi, ditemi se puo andare,
magari quell'errore che restituiva dipendeva dall'accumulo di errori in on errore resume next, dato che ci sono molte cartelle che nn permettono l'accesso.

PM Quote
Avatar
marco444 (Normal User)
Rookie


Messaggi: 55
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 13:45
Venerdì, 02/04/2010
un'altra domanda, ho provato anche a fare un'altra modifica al processfile:

Public Sub ProcessFile(ByVal FilePath As String)

        Try

            ' processa il file

            ' possiamo recuperare varie informazioni sul file tramite FileInfo
            ' ed eventualmente inserire qui altre routine di controllo, in questo
            ' codice ci limitiamo soltanto ad elencare tutti i files con le sottodirectory

            Dim FSI1 As New System.IO.FileInfo(FilePath)


            FileList.Append(FilePath & FSI1.Length.ToString & vbCrLf) ' aggiungo il file esaminato ora alla lista

            CountFiles += 1 ' incremento il numero di files

        Catch ex As Exception

        End Try

    End Sub



in teoria dovrebbe darmi nella lista anche la dimensione del file. dove ho sbagliato?

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 16:48
Venerdì, 02/04/2010
ho provato il codice...
genera un errore che non viene segnalato a causa del try
se togli il try vedrai che da questo errore:

Riferimento a un oggetto non impostato su un'istanza di oggetto.

ti basterà aggiungere NEW nella dichiarazione di filelist

Ultima modifica effettuata da walker93 il 02/04/2010 alle 16:54
PM Quote
Avatar
marco444 (Normal User)
Rookie


Messaggi: 55
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 16:59
Venerdì, 02/04/2010
così??

Public Sub ProcessFile(ByVal FilePath As String)

        Try

            ' processa il file

            ' possiamo recuperare varie informazioni sul file tramite FileInfo
            ' ed eventualmente inserire qui altre routine di controllo, in questo
            ' codice ci limitiamo soltanto ad elencare tutti i files con le sottodirectory

            Dim FSI1 As New System.IO.FileInfo(FilePath)


            new FileList.Append(FilePath & FSI1.Length.ToString & vbCrLf) ' aggiungo il file esaminato ora alla lista

            CountFiles += 1 ' incremento il numero di files

        Catch ex As Exception

        End Try

    End Sub

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 17:11
Venerdì, 02/04/2010
noooo
dove scrivi:
Dim FileList As StringBuilder
aggiungi new:
Dim FileList As New StringBuilder

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo