Είσαι σίγουρος ότι ο timer εκτελείται όπως νομίζεις? Υπάρχουν 3 διαφορετικοί timers, με διαφορετκή συμπεριφορά. Ποιόν χρησιμοποιείς εσύ? Πως τον καλείς? Γιατί πιστεύεις ότι η WriteFile δεν εκτελείται? Το είδες στον Debugger ή θεωρείς ότι επειδή δεν είδες αμέσως τα αποτελέσματα της Console.WriteLine δεν έτρεξε και ο κώδικας?
mixio, μπλέκεις πάρα πολλά πράγματα μαζί με αποτέλεσμα να πελαγοδρομείς. Δεν γίνεται να γράψεις κώδικα, ειδικά για διπλωματική, αντιγράφοντας ένα code snippet και παλεύοντας να το κάνεις να δουλέψει. Επίσης, μας λες τί συμβαίνει αποσπασματικά, με αποτέλεσμα να μην μπορεί κανείς να καταλάβει τί συμβαίνει.
Για παράδειγμα, ΟΛΕΣ οι παράμετροι της WriteFile είναι pointers. Αν δεν καταλαβαίνεις τί είναι αυτές οι παράμετροι, δύσκολα θα κάνεις και την WriteFile να δουλέψει. Αν κοίταζες το documentation της WriteFile θα έβλεπες ότι περιέχει παραδείγματα πως να την καλέσεις και πως να δεις τί λάθος συμβαίνει με την GetLastError().
Άλλο παράδειγμα, μετά από τόσα posts αναφέρεις ότι χρησιμοποιείς κάποιο timer, αλλά πρέπει από την ναφορά στο Timer_Elapsed να καταλάβω ότι μάλλον μιλάς για τον System.Timers.Timer.
Όταν αντιμετωπίζεις πρόβλημα θα πρέπει να το σπάσεις σε κομμάτια. Καταρχήν, αναντιμετωπίζεις περίεργη μπεριφορά, κατά κανόνα το πρόβλημα βρίσκεται στον κώδικα σου και όχι στο λειτουργικό (η WriteFile είναι τμήμα του λειτουργικού). Πιστεύεις ότι έχει πρόβλημα ή WriteFile? Απομόνωσε τη σε ένα ανεξάρτητο πρόγραμμα ή μέθοδο, και δοκίμασε αυτή και μόνο. Νομίζεις ότι έχει πρόβλημα ο Timer? Φτιάξε ένα άλλο πρόγραμμα, μόνο με τον timer, και δες πως δουλεύει μέσα από το debugger.
Το άλλο σημαντικό που πρέπει να κάνεις, είναι το RTFM. Όταν ασχολείσαι με κάποιο API ή function που δεν έχεις ξαναχρησιμοποιήσει, το RTFM ΔΕΝ είναι προαιρετικό. Ειδικά για το Windows API, το documentation έχει κοσκινιστεί εδώ και 10 χρόνια, με αποτέλεσμα να έχει πολύ καλή δομή, τόσο στις επεξηγήσεις όσο και στα παραδείγματα. Εκεί θα βρεις σχεδόν ό,τι χρειάζεσαι.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos