Il 01/02/2016 17:13, Enrico Maria Giordano ha scritto:
Da programmatore dovresti sapere che a volte è impossibile capire la causa di un problema solo ragionandoci sopra.
E' un test ufficiale MS e quindi funzionava sicuramente anche prima.
2) usando un altro linguaggio, che magari sfrutta le API in modo
diverso, potrebbe mascherare quello che è il problema, ossia l'aver
utilizzato qualcosa in un modo che prima non dava problemi e ora li da
Esatto. E quando si parla di programmi in C (perché alla fine è C) qualsiasi cambiamento può far sì che un programma che prima funziona per sbaglio dopo non funziona più. E' una delle prime cose che si dovrebbe imparare programmando in C.
3) Il fatto che il test in C funzioni spiega solo che ADESSO il tuo
programma non gira correttamente, e non spiega perché PRIMA
funzionava... C'è qualcosa che è intervenuto tra PRIMA e ADESSO! E non
nel tuo programma, che non è cambiato!
Ma potrebbe essere cambiato l'ambiente, non per un aggiornamento su quelle API ma per qualsiasi altra cosa che ha spostato le aree di memoria. Quindi la colpa è solo di un errore nel codice C (puntatori sbagliati o cose del genere).
A maggior ragione non è dipeso dal cambiamento di SO. Se non funzionasse
solo a te e a me ancora funzionasse, si potrebbe dire che è intervenuto
un problema con il cambiamento del SO. Invece il problema c'è sia sul
mio PC che era ed è rimasto un W7, che sul tuo, che intanto è diventato
un W10. Dunque escluderei il cambiamento di SO, Non credi?
Ma questo esclude anche un aggiornamento perché sarebbe veramente strano che un aggiornamento su due sistemi diversi abbia causato lo stesso problema.
Comunque vedremo, dai. Ormai sono in grado di risolvere. Solo che oggi non ho tempo.
EMG