+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Pause tra righe di codice

  1. #1
    giammison non è in linea Novello
    Buonasera a tutti!
    Ho realizzato un piccolo programmino per controllare lo stato online di alcuni host e purtroppo, essendo una quarantina, ho visto che il programma si blocca, e se apro il task manager mi da la dicitura "il programma non risponde". Pensando che sia un problema di mole di dati eccessiva simultanea da ricevere, vorrei inserire una pausa con tempo impostabile tra un ping ed un altro ma non saprei come fare.

    Grazie anticipatamente.

    Posto parte del codice per rendere meglio la comprensione:

        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            If My.Computer.Network.Ping("192.168.100.190") Then
                PictureBox1.Image = My.Resources.Resources.Led_verde
            Else
                PictureBox1.Image = My.Resources.Resources.Led_rosso
            End If
            If My.Computer.Network.Ping("192.168.100.222") Then
                PictureBox2.Image = My.Resources.Resources.Led_verde
            Else
                PictureBox2.Image = My.Resources.Resources.Led_rosso
            End If
        End Sub
    
    Ultima modifica di elisab; 26-11-2010 19:11  Motivo: mancato utilizzo dei tag [code][/code]

  2. #2
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Posta il codice nei rispettivi tag.
    ℹ️ Leggi di più su sistemista ...

  3. #3
    giammison non è in linea Novello
    oddio, che intendi?

  4. #4
    L'avatar di ken1986
    ken1986 non è in linea Scolaretto
    Ti conviene inserire il codice in un backgroundworker e se vuoi una pausa o utilizzi l'api di win sleep(millis) oppure Threadind.Thread.sleep(millis)
    ℹ️ Leggi di più su ken1986 ...

  5. #5
    giammison non è in linea Novello
    Grazie provo e ti faccio sapere!

  6. #6
    giammison non è in linea Novello
    Ho provato con la funzione Thread.Thread.sleep m continua a dare "L'applicazione non risponde". Se non ricordo male la funzione da te suggerita mette in pausa tutta l'applicazione. Forse quella che potrbbe andare bene è la "For...next" ma ho dei dubbi ad applicarla. Se qualcuno mi aiuta a ricordarla meglio ne sarei grato.
    Scusatemi ma ho avuto esperienza nel passato con VB6 (pochissima) e ho la necessità di rispolverare un pò tutto piano piano.
    Grazie mille dell'help sopratutto a quelli che si abbassano al livello dilettante come il mio.

  7. #7
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Anche se metti la pausa nel thread corrente il programma risulterà sempre bloccato.
    Quello che devi fare - e mettere la procedura con ping in un thread diverso.(e per questo che serve BackgroundWorker)
    ℹ️ Leggi di più su bumm ...

  8. #8
    giammison non è in linea Novello
    GRANDI!!! Bumm e Ken avete centrato il problema. Con Backgroundworker funziona tutto correttamente. Grazie!
    Visto che per ripetere le esecuzioni di ping uso la funzione Timer impostando i valori di intervallo, volevo chiedervi, posso farne lo stesso utilizzando qualche funzione similare propria del componente BackGroundWorker senza l'utilizzo del timer?

    Grazie anticipatamente.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 8
    Ultimo Post: 08-07-2015, 16:31
  2. Risposte: 3
    Ultimo Post: 03-05-2010, 16:38
  3. Righe di codice
    Da cippalippa nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 11-10-2007, 11:25
  4. Introdurre pause
    Da newpc82 nel forum Visual Basic 6
    Risposte: 14
    Ultimo Post: 13-04-2007, 21:42
  5. Risposte: 3
    Ultimo Post: 13-06-2006, 18:29