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

    [VB.NET] Thread Interrotto

    Nell'evento 'Load' del Form principale viene attivato un 'Thread' che si occupa di eseguire le operazioni di caricamento dei dati da un database 'Access'.
    Il caricamento di tali dati potrebbe richiedere tempi differenti e a volte appare il messaggio:
    codice:
    Errore 5 
    Thread interrotto
    Io credo che questo errore sia connesso al tempo poichè quando il database diventa di grande dimensione( ho popolate le tabelle automaticamente con molti dati per provare ) o lo sposto in un'altro computer su rete LAN > il tempo di caricamento aumenta e si genera l'errore, quando il caricamento è rapido non viene generato alcun errore.

    Che ne pensate?

  2. #2
    che ne pensate?
    Difficile senza avere idea di quale sia il codice che hai scritto.
    Ad ogni modo, non c'è un tempo limite di esecuzione del thread(per assurdo potrebbe anche ciclare all'infinito) .... probabilmente hai gestito male l'eventualità di eccezioni.
    Facci sapere...
    Ciao

  3. #3
    avevi ragione ho gestito male le eccezioni, cosa che invece andrebbe imparata prima di altre.
    Praticamente ho utilizzato il seguente codice per recuperare il messaggio dell'errore:
    codice:
    Try
    ...Istruzioni
    Catch Ex As ThreadAbortException
    ...Messaggio errore e gestione
    End Try
    e ho capito la riga in cui veniva generata l'eccezione.
    codice:
    Me.Close
    Ciao e grazie per l'aiuto

  4. #4
    E hai capito anche perchè ti generava eccezione quella riga?

  5. #5
    Credo perche da un Thread non è possibile fare riferimento a

    codice:
    Me.
    Correggimi se sbagliato

  6. #6
    detto terra terra ... non è sbagliato .... ma la mia domanda era fatta per portare la tua attenzione sul fatto che, inserendo quell'istruzione in blocco Try...Catch, non hai risolto il problema .... lo hai soltanto ignorato.
    Ciao

  7. #7
    potresti farmi capire meglio.

  8. #8
    Intendo dire che intercettare l'errore, non vuol dire aver risolto il problema ... in quanto, l'istruzione Me.Close, generando un eccezione, non viene comunque eseguita, quindi, il Form non viene chiuso(e tu vorresti chiuderlo....giusto?) .... per le operazione di crossthread, devi fare uso dei Delegate.
    Ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.