Sackoverflow... perchè ?

sabato 27 ottobre 2007 - 12.55

st4lk3r Profilo | Newbie

Non ho ancora capito bene se l'eccezione e successivo crash della mia applicazione sia dovuta ad una ricorsione infinita.

MouseMove è il nome della funzione che viene chiamata ad ogni movimento del mouse.

All'interno di essa una riga di codice modifica la posizione del mouse.

this->Cursor->Position = Position(x,y);

Sapete darmi una risposta ?

alextyx Profilo | Expert

>Non ho ancora capito bene se l'eccezione e successivo crash della
>mia applicazione sia dovuta ad una ricorsione infinita.
>
>MouseMove è il nome della funzione che viene chiamata ad ogni
>movimento del mouse.
>
>All'interno di essa una riga di codice modifica la posizione
>del mouse.
>
>this->Cursor->Position = Position(x,y);
>
>Sapete darmi una risposta ?
>
>
Probabilmente muovendo il mouse da codice, scateni di nuovo la chiamata a MouseMove. Diciamo che a prima vista sembrerebbe anche logico e probabile.
Non so bene cosa tu debba fare, ma puoi evitare una ricorsione del genere usando una variabile statica (non so però se nel C# questo nome ha un significato diverso, intendo quelle che mantengono il loro valore tra una chiamata e l'altra della procedura) che metti a True prima di muovere il mouse e che testi all'inizio della procedura. Se è true, la metti False ed esci. Se è False esegui la procedura. Un boolean che io chiamerei 'MouseMossoDaCodice'!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5