Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    [vb.net 2005]problema con thread

    salve a tutti
    in vb.net a differenza del 2003,ogni oggetto nn puo' essere modificato da + thread contemporaneamente

    vi chiedo come posso ovviare a cio'.
    per esplicare meglio la mia domanda vi invito a scaricare questo semplice progetto, su cui stavo studiando un modo
    per riuscire a risolvere questa questione:

    http://www.occasioneimmobileroma.it/THREAD.zip

    qui, io dichiaro un thread, e richiamo 2 sub che creando un'istanza di questo thread cercano di modificare una scrollbar, ma arrivati al secondo thread da errore in quanto il primo è in esecuzione

    grzie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    up
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'accesso ai controlli di Windows Forms non è thread safe.
    Operazioni effettuate da due thread diversi da quello in cui il controllo e' stato creato, possono porlo in uno stato non coerente.

    Quello che puoi fare nel tuo codice è porre la seguente dichiarazione nel codice del form

    codice:
    Delegate Sub SetPBCallback()
    e modificare il codice del thread che accede al controllo così

    codice:
    Private Sub AdvanceProgress()
      If Me.ProgressBar1.InvokeRequired Then
        Dim d As New SetPBCallback(AddressOf AdvanceProgress)
        Me.Invoke(d, New Object() {})
      Else
        Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
      End If
    End Sub

  4. #4
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    ora nn mi trovo nel pc dove è il progetto

    cmq 1 domanda:
    con questo metodo, in pratica la seconda sub viene eseguita quando la prima ha finito?

    se no, è possibile farlo? e in che modo=?

    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

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.