in data 03-24-2010 03:29 AM
Buongiorno a tutti,
ho un problema con la funzione di callback, ogni tanto non viene richiamata con conseguente blocco della mia applicazione.
Mi spiego meglio:
Utilizzo questa funzione per la lettura di tensione su uno o più canali, la lettura avviene in modo asincrono.
Volevo implementare un timer per la chiusura del Task dopo n secondi, però non riesco a resettare il Task creato e aperto.
Qualcuno ha già implementato questo controllo?
Come posso fare?
Grazie
Stefano
in data 03-24-2010 03:42 AM
Non è facile capire cosa sta succedendo perchè non ci dai molte informazioni. Potrebbe succedere che il programma fosse chiuso in un loop nel quale non vengono gestiti gli eventi di sistema, quindi non può elaborare nemmeno la callback del timer. Se questo è il problema potresti provare a inserire in ProcessSystemEvents () in qualche punto nel loop per fare in modo che gli eventi vengano gestiti. Devi stare attento però che in questo modo potrebbero anche essere lanciati eventi inattesi (per esempio l'operatore che schiaccia un tasto non voluto...). Sempre se l'acquisizione avviene in un loop potresti semplicemente salvare in un double il valore di Timer () prima di entrare e uscire dopo un certo tempo con if (Timer () - tini > 5.0) break;
Però questi sono colpi sparati a casaccio: se puoi farci vedere uno scheletro del codice si possono dare risposte più a proposito.