Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

προβλημα με timers vb.net

Îåêßíçóå áðü ôï ìÝëïò pete. Τελευταία δημοσίευση από το μέλος KelMan στις 28-01-2007, 19:33. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-01-2007, 15:29 24135

    προβλημα με timers vb.net

    Συνημμένα: timers.zip
    παιδια προσπαθω να κανω τους timers (δηλωνοντας τους, οχι με εικονιδιο) να παιξουν αλλα δεν..
    (στα 2 προγραμματα δηλωνονται λιγο διαφορετικα, αν και λογικα το ιδιο πραγμα θα ειναι, δεν εχω καταλαβει τη διαφορα. α σημειωτεον οτι πρεπει να κλεινετε με οκ τα messageboxes για να σταματησει μετα απο 3 επαναληψεις ο timer.)

    το προβλημα ειναι οτι και στα 2 προγραμματα ενω τη 1η φορα δειχνει να παιζει καλα, τη δευτερη φορα που παταω το button δε λειτουργει καλα.

    το λογικο ειναι να ειναι κατι πολυ απλο οποτε αν δεν ειναι κοπος δωστε τα φωτα σας (επειγει το θεμα).
    thanks
  •  27-01-2007, 16:18 24136 σε απάντηση της 24135

    Απ: προβλημα με timers vb.net

    Το μπλέκεις λίγο το πράγμα.

    Πρώτον υπάρχουν 3 διαφορετικές κλάσεις timer, η System.Windows.Forms.Timer, η System.Timers.Timer και η System.Threading.Timer, ποιά χρησιμοποιείς εσύ?

    Δεύτερον, το αν θα δείξεις MessageBox και αν πατηθεί το OK ή όχι δεν έχει καμμία επίδραση στη λειτουργία του timer. Αυτός θα συνεχίσει να εκτελείται κανονικά. Πρέπει κάπως να τον σταματήσεις εσύ ο ίδιος, αλλιώς θα συνεχίσει να λειτουργεί.

    Τη δεύτερη φορά που πατάς το κουμπί ... ποιό κουμπί? Του messagebox? Κάτι άλλο?

    Γενικά, όταν κάνεις μία ερώτηση πρέπει να δίνεις αρκετές πληροφορίες στον άλλο για να καταλάβει τί συμβαίνει για να μπορέσει να σε βοηθήσει. Τώρα, πέρα από το να σου πω ότι όντως είναι απλοί οι timers, δεν μπορώ ούτε να μαντέψω τί μπορεί να συμβαίνει.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  27-01-2007, 17:09 24139 σε απάντηση της 24136

    Απ: προβλημα με timers vb.net

    Δεν κατάφερα να τρέξω τον κώδικα σου, δυστυχώς έχω μόνο C# στο σπίτι, οπότε, θες να μας πείς τι ακριβώς δεν πάει καλά ?

    Απ' ότι βλέπω, στο button click προσθέτεις κάθε φορά και απο ένα reference στον event handler σου, στο event του timer. Με μια ματιά μόνο πολύ γρήγορη, αυτό ίσως κάνει τον κώδικά σου να εκτελείται μια, δύο, τρείς, .. ν φορές σε κάθε tick ανάλογα το πόσες φορές έκανες click στο κουμπί;
    Angel
    O:]
  •  27-01-2007, 17:53 24140 σε απάντηση της 24135

    Απ: προβλημα με timers vb.net

    φιλε pkanavos , όπως θα δεις στο κωδικα (που βρισκεται στο συννημενο) στο μεν 1ο προγραμμα χρησιμοποιω System.Windows.Forms.Timer ενω στο αλλο την System.Timers.Timer. Απλως εκανα δοκιμη και με τα δυο. Δεν μπηκα σε λεπτομερειες γιατι εχω δωσει τον κωδικα ο οποιος ειναι και μικρος. Οσο αφορα το messagebox που εχω βάλει να εμφανιζεται η παρουσα ωρα καθε φορα που γινεται το event, πρεπει να το κλεινεις με οκ αλλιως απ'οτι εχω καταλαβει δεν αυξανεται ενας counter που εχω βαλει για να σταματησει ο timer (τον εχω να εκτελειται π.χ 3 φορες). Το θεμα ειναι οτι ενω τη πρωτη φορα παιζει σωστα ο timer , απο κει και μετα οταν ξαναπαταω το button βγαζει απροσαρμοστα αποτελεσματα. Anjelinio λιγο δυσκολο τωρα με λογια να βγαλουμε ακρη, για αυτο επισυναψα το κωδικα, thanks παντως.
  •  27-01-2007, 18:07 24141 σε απάντηση της 24139

    Απ: προβλημα με timers vb.net

    Κάθε φορά που πατάς το κουμπί προσθέτεις άλλο ένα Event Handler στον timer. Ο κάθένας από αυτούς τους handlers θα καλείται σε κάθε event. Έτσι, την πρώτη φορά θα δεις 4 messageboxes από ένα handler, την δεύτερη φορά που θα το πατήσεις 8 από 2, κ.ο.κ. Αρκεί να καλέσεις την AddHandler μία φορά, π.χ. στην Load της φόρμας. Πέρα από αυτό, τα shared και τα keepalive δεν προσφέρουν τίποτε.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-01-2007, 03:04 24145 σε απάντηση της 24141

    Απ: προβλημα με timers vb.net

    ευχαριστω πολυ Παναγιωτη, το δηλωσα μια φορα και φαινεται σωστο τωρα.
  •  28-01-2007, 19:33 24166 σε απάντηση της 24145

    Απ: προβλημα με timers vb.net

    Μην ξεχάσεις να ορίσεις το Κατάσταση Ενότητας ως "Έχει επιλυθεί" και να ορίσεις ποιές απαντήσεις σε βοήθησαν.


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems