Visualizzazione dei risultati da 1 a 5 su 5

Discussione: threading problem

  1. #1

    threading problem

    Salve a tutti,
    sto provando ad utilizzare il threading nella mia applicazione.
    Vi spiego brevemente la situazione:
    lancio n processi che aprono e chiudono un prompt dei comandi facendo delle operazioni: alla fine di ogni operazione parte quella nuova.
    Io ora vorrei farle correre in modo parallelo, così ho pensato ad utilizzare il thread...
    Mi son creato una classe, dove passo dei parametri al costruttore, in modo tale da avere nel threadstart un metodo senza nessun parametro e fin qui tutto bene.

    codice:
    Dim ts As New ThreadStart(AddressOf lProc.Lancia_Processo)
    Dim Mythread As New Thread(ts)
    Mythread.Start()
    il codice lo metto dentro un ciclo for, in modo da avere n processi in base ad una listview di elementi caricati.
    Però appena vado a lanciarlo, esce il seguente errore: Cross-Thread operation not valid: Control "frmMessages" accessed from a thread other than the thread it was created on.

    Ora l'oggetto in questione(frmMessages) è una form dove mi stampo i log delle operazioni.
    Secondo voi cosa può essere?

    Grazie

    Marco

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    che hai tentato l'accesso da un thread diverso (quello creato da te) agli oggetti del main thread.. per farlo ci sono 2 modi

    1) metti nel costruttore della form un Control.ChackForIllegalCrossThread a false
    2) usi i delegate e invoke per chiamarli (il metodo più elegante e corretto)

  3. #3
    Originariamente inviato da Stoicenko
    che hai tentato l'accesso da un thread diverso (quello creato da te) agli oggetti del main thread.. per farlo ci sono 2 modi

    1) metti nel costruttore della form un Control.ChackForIllegalCrossThread a false
    2) usi i delegate e invoke per chiamarli (il metodo più elegante e corretto)
    hai qualche esempio da mostrarmi?
    è la prima volta che utilizzo i thread nelle mie applicazioni.
    grazie

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    hai un libro dove stai studiando? sennò c'è l'msdn on-line dove trovi molti esempi di operazioni cross thread e delegati

    http://msdn.microsoft.com/en-us/library/zyzhdc6b.aspx

  5. #5
    Originariamente inviato da Stoicenko
    hai un libro dove stai studiando? sennò c'è l'msdn on-line dove trovi molti esempi di operazioni cross thread e delegati

    http://msdn.microsoft.com/en-us/library/zyzhdc6b.aspx
    grazie, vedo un pò di capirci qualcosa

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.