Salve a tutti.
Sto sviluppando un'applicazione in C++ (Visual Studio 2005) per terminale mobile che ha come sistema operativo Windows Mobile 5.0
In quest'applicazione c'e' una Dialog che nella onInitDialog fa partire un Thread che fa un ciclo infinito while (TRUE).
Il Thread viene cosi' lanciato:
codice:
Threads[0] = CreateThread(NULL, 0, ReadThread, &Par[0], 0, NULL);
Dalla Dialog principale e' possibile aprire altre Dialog le quali fanno dei cicli in attesa che scada un timer o che il Thread vada a riempire delle variabili globali lette in questi while.
Ora succede che per qualche motivo quando girano questi while (in un caso ho tre while annidati) il while (true) del Thread risulta bloccato e non valorizza mai le variabili globali lette negli altri while i quali terminano in maniera erronea.
Quando terminano il while (true) del Thread si sblocca.
A cosa puo' essere dovuto questo comportamento?
A questa URL: http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx leggo che il metodo CreateThread richiede come sistemi operativi diverse versioni di Windows ma non Windows mobile 5.0, e' possibile che sia questo il problema?
Ciao e grazie
Sandro