Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net] Thread ed errori
Forum - C# / VB.NET - [vb.net] Thread ed errori - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:22
Mercoledì, 17/11/2010
Ti ho detto di togliere l'if supponendo che non lasciassi lì dentro la chiamata RICORSIVA.
Codice sorgente - presumibilmente VB.NET

  1. Delegate Sub MainCaller()
  2.  
  3.     Private Sub InvokePopulateList()
  4.         Me.Invoke(New MainCaller(AddressOf PopulateList))
  5.     End Sub
  6.  
  7.     Private Sub PopulateList()
  8.         For i = 0 To 100000
  9.             ListBox1.Items.Add(i)
  10.         Next
  11.     End Sub
  12.  
  13.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  14.         Dim t As New Threading.Thread(AddressOf InvokePopulateList)
  15.         t.Start()
  16.     End Sub


PM Quote
Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 11:32
Giovedì, 18/11/2010
Testo quotato

Postato originariamente da Il Totem:

Ti ho detto di togliere l'if supponendo che non lasciassi lì dentro la chiamata RICORSIVA.
Codice sorgente - presumibilmente VB.NET

  1. Delegate Sub MainCaller()
  2.  
  3.     Private Sub InvokePopulateList()
  4.         Me.Invoke(New MainCaller(AddressOf PopulateList))
  5.     End Sub
  6.  
  7.     Private Sub PopulateList()
  8.         For i = 0 To 100000
  9.             ListBox1.Items.Add(i)
  10.         Next
  11.     End Sub
  12.  
  13.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  14.         Dim t As New Threading.Thread(AddressOf InvokePopulateList)
  15.         t.Start()
  16.     End Sub





grazie totem....ma questo codice non va bene...
è sempre il principale che popola la lista e mi si blocca

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:38
Giovedì, 18/11/2010
Allora non ci capiamo. Se vuoi evitare l'errore, l'unico modo è accedere alla lista dal thread che l'ha creata e questo è SEMPRE il thread principale, quindi non puoi che fare in questo modo.
Non puoi aggiungere la lista da un thread separato perché dovresti accedere alla proprietà Controls del thread principale.

Nulla ti vieta di pensare ad una soluzione più elegante di questa. Ad esempio: è veramente necessario caricare 100'000 elementi tutti insieme? Perché non solo i primi 100 e gli altri su richiesta?

PM Quote
Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 13:31
Giovedì, 18/11/2010
Testo quotato

Postato originariamente da Il Totem:

Allora non ci capiamo. Se vuoi evitare l'errore, l'unico modo è accedere alla lista dal thread che l'ha creata e questo è SEMPRE il thread principale, quindi non puoi che fare in questo modo.
Non puoi aggiungere la lista da un thread separato perché dovresti accedere alla proprietà Controls del thread principale.

Nulla ti vieta di pensare ad una soluzione più elegante di questa. Ad esempio: è veramente necessario caricare 100'000 elementi tutti insieme? Perché non solo i primi 100 e gli altri su richiesta?




si non ci siamo capiti...il mio intento era quello di lavorare da thread secondario... in ogni caso saltando l'errore si puo fare lo stesso... certo la gestione è un po complessa ma pazienza...grazie di tutto

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo