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

 

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

Visual Studio 2005 crach

Îåêßíçóå áðü ôï ìÝëïò KelMan. Τελευταία δημοσίευση από το μέλος KelMan στις 19-07-2006, 15:29. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-07-2006, 10:52 14930

    Visual Studio 2005 crach

    Σε μια εφαρμογή που φτιάχνω, πολλά από τα events της φόρμας τα κάνω bind με τα event handlers δυναμικά (με AddHandler) αφού υπάρχουν οι κατάλληλες προϋποθέσεις από πλευράς λογικής, ώστε να αποφεύγω μέσα στον κώδικα του κάθε event να εξετάζω αν πληρούνται αυτές οι προϋποθέσεις και να εκτελείται καθαρά ο κώδικας του event, δηλαδή σε κάθε event handler ο κώδικας είναι "κάνε αυτο" αντί "αν ισχύουν αυτά, κάνε αυτό". Το αντίστοιχο RemoveHandler γίνεται στο FormClosing.

    Το θέμα είναι ότι κατά το debugging, συχνά κρασάρει το VS και υποπτεύομαι ότι φταίνε όλα αυτά τα delegates που μένουν στη μνήμη και δεν φεύγουν με RemoveHandler αφού εκ των πραγμάτων διακόπτω την ομαλή εκτέλλεση του προγράμματος.

    Την ίδια τεχνική ακολουθούσα και στο VS 2003 αλλά χωρίς ποτέ να έχω αντιμετωπίσει κανένα πρόβλημα... Μήπως κανένας έχει αντιμετωπίσει κάτι παρόμοιο;


    Vir prudens non contra ventum mingit
  •  19-07-2006, 14:49 14961 σε απάντηση της 14930

    Απ: Visual Studio 2005 crach

    Μήπως έχεις κάποιο φαινόμενο overbinding (ίσως από κάποιο loop ή custom reinitialization event), και κάποιος handler καλείται πολλές φορές?

    Ακολουθώ την ίδια τακτική σε καταστάσεις που απαιτούν πλήθος από handlers (ορισμένοι εκ των οποίων ανακυκλώνονται ανάλογα με τις συνθήκες, δηλαδή με -= new event και μετά += new event), και δε μου έχει συμβεί κάτι παρόμοιο.
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  19-07-2006, 15:29 14968 σε απάντηση της 14961

    Απ: Visual Studio 2005 crach

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