Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - c# busy
Forum - C# / VB.NET - c# busy

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 1:22
Domenica, 18/09/2016
Ciao belli!
Il client di una socket async mi manda in "busy" l'icona del mouse...(la clessidra per chiarezza)
La qual cosa si verifica dopo un indeterminato e casuale numero di volte che il server risponde...
Idee?
è rimasto quello da controllare oppure un DllImport Pinvoke....
Cosa può darmi questo strano comportamento?
(strano ma vero, cosi immotivata una cosa così anti-estetica non mi era mai capitata...per il resto la form risponde ai comandi...)

Ultima modifica effettuata da darioza il 18/09/2016 alle 1:35
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 11:48
Domenica, 18/09/2016
Se esegui le operazioni in un thread secondario ciò smetterà di avvenire.

PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 13:40
Domenica, 18/09/2016
Ciao, grazie per la risposta....
Ci avevo pensato anche io....anche se l'async mi dava tranquillità...
Ho provato, e nulla....
Stesso giochino...
Non ho spostato il pinvoke a dir la verità ora che ci penso...
Provo
Maledetto codice non gestito, magari è colpa sua?
Mai capitato


Ultima modifica effettuata da darioza il 18/09/2016 alle 13:41
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:48
Domenica, 18/09/2016
Che pInvoke è? Hai grandi cicli nel codice? Come gestisci il thread secondario?

PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 19:30
Domenica, 18/09/2016
È un pinvoke su user32 per gli eventi legati al cursore, cosa relativamente economica sotto il profilo risorse-tempi
No, niente cicli lunghi, anche perché per "risolvere" (si fa per dire) ho commentato tutto il resto....


Edit: vogliamo ridere? sembra che la sezione di codice che da problemi, sia quando creo istanza di new cursor...ora nasce spontanea la domanda: perché?

Ultima modifica effettuata da darioza il 18/09/2016 alle 21:36
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:37
Lunedì, 19/09/2016
Linka la documentazione msdn che cerco di capire

PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 13:48
Lunedì, 19/09/2016
Fuori dal pinvoke eh, lo ho escluso...
Pensavo fosse lui il problema, invece no...
La classe cursor del windows.form

https://msdn.microsoft.com/it-it/library/system.windows.for ...

Dopo aver eseguito l'istruzione
Codice sorgente - presumibilmente C# / VB.NET

  1. nome= new Cursor(Cursor.Current.
  2.  Handle);



Compare l'icona busy e non ci sono santi...
mi sembra tanto strano

Ultima modifica effettuata da darioza il 19/09/2016 alle 13:50
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1452
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 14:03
Lunedì, 19/09/2016
Se imposti l'istanza partendo da quello attuale e il nuovo è in wait significa che anche l'istanza corrente era in wait al momento della creazione della nuova istanza.

Comunque poi puoi sempre cambiarlo:
Codice sorgente - presumibilmente C# / VB.NET

  1. nome= new Cursor(Cursor.Current. Handle);
  2. nome.Cursor = Cursors.Default



oppure invece di usare Cursor.Current.Handle usare direttamente il cursore di default:

Codice sorgente - presumibilmente C# / VB.NET

  1. nome= new Cursor(Cursors.Default.Handle);



PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 16:40
Lunedì, 19/09/2016
E ok, sono completamente d'accordo...anche se nel momento in cui genero il nuovo cursore, nulla è visibile...
Nel senso che fin quando non eseguo il codice, il cursore è quello di default...
La cosa che mi lascia perplesso è che quando termina lo scope non torni tutto alla gestione della form...
Per capirci, perché il processo "termina" di gestire l'icona? (spero di farmi intendere...)
Comunque forse sostituirlo è la cosa piu immediata, anche se resto perplesso...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo