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

 

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

Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

Îåêßíçóå áðü ôï ìÝëïò Αλέξανδρος Δημητρίου. Τελευταία δημοσίευση από το μέλος Αλέξανδρος Δημητρίου στις 05-10-2008, 12:06. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-10-2008, 11:14 45128

    Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Παιδιά Καλημέρα.....

    Εδώ και τρείς μέρες δεν αντέχω άλλο....μου έχουν σπάσει τα νέυρα με το εξής πρόβλημα...

    Ακούστε λοιπόν:

    (VB Windows Application - Sql server 2005)

    Μέσα από μια φόρμα(form1) της εφαρμογής μου καλώ μία άλλη φόρμα(form2). στο FormClosed Event της form2 καλώ το FormLoad Event της Form1 και δεν κάνει απολύτως τίποτα..Το event εκτελείται σίγουρα έχω κάνει όλους τους ελέγχους.Το χειρότερο απο όλα είναι οτί σε δύο άλλες εφαρμογές μου με ακριβώς τόν ίδιο κώδικά δουλέυει άψογα....Ακόμα και το πίο απλο...ένα label της φόρμας 1 να θέλω να αλλάξω από τη φόρμα 2 δεν κάνει τίποτα....

     

    Τι φταίει ρε παιδιά πείτε μου..Και τις τρεις εφαρμογές εγώ τις εχω φτιάξει...Δεν γίνεται στη μία να δουλέυει και στην άλλη όχι.....

    Ευχαριστώ πολύ!


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
  •  04-10-2008, 12:54 45129 σε απάντηση της 45128

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Για δοκίμασε το FormClosing event στην θέση του FormClosed.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  04-10-2008, 13:42 45131 σε απάντηση της 45128

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Αλέξανδρε, αποκλείετε να δουλεύει στη μία και να μην δουλεύει στην άλλη. Ο λόγος είναι απλός. Εάν μέσα στην Form2 έχεις τον κώδικα που κάνει Handle το FormClosed Event και αυτός ο κώδικας δημιουργεί την Form1 και την δείχνει στον χρήστη, δεν γίνεται να δουλέψει. Όταν το FormClosed κάνει fire η Form2 ΔΕΝ υπάρχει πλέον, κάτι το οποίο κάνει αδύνατο οποιοδήποτε κώδικα να εκτελεστεί εκεί. Ο μόνος τρόπος να λειτουργήσει το FormClosed είναι να γίνεται Handle απο άλλη class μέσα στην εφαρμογή σου.

    Αντίθετα το FormClosing που σου λέει o Δημήτρης, θα δουλέψει.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  04-10-2008, 13:53 45132 σε απάντηση της 45131

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Αγαπητέ Παναγιώτη  σε παρακολουθώ πολύ καιρο στο φόρουμ και με έχεις βοηθήσει ουκ ολίγες φορές μα πραγματικά πιστεψέ με είναι η πρώτη φορά που κάνεις λάθος...Ακριβώς ίδιος κώδικας σε δύο εφαρμογές τρέχει σε αυτήν όχι. Έχω τρελλαθεί. Η form1 όταν γίνεται fire το event formclosed() της form2 είναι ήδη ανοιχτή.Έχω δύο εφαρμογές στις οποίες κάνω το εξής:

    Έχω ένα datagridview με τα δεδομένα ενός πίνακα της βάσης μου που στο formload της φόρμας τραβά τα δεδομένα. Στην ίδια φόρμα έχω ένα button το οποίο με το Form2.Showdialog() μου ανοίγει τη δευτερη φόρμα χωρίς να κλείνει τη πρώτη.Στη δευτερη φόρμα εισάγω δεδομένα στον πίνακα με textboxes και πατώντας κλείσιμο αυτό αποθηκέυεται.Επειδή όμως τα δεδομένα δεν φαίνονται στην πρώτη φόρμα μου στο formClosed της δευτερης φόρμας καλώ το formload της πρώτης ώστε να ξαναγεμίσει το datagridview με τα νέα στοιχεία...δουλέυει άψογα....

     

    Σε αυτήν την εφαρμογή ΟΧΙ.

    Η μόνη διαφορά αλλά άσχετη τελείως θαρρώ είναι οτι αυτήν τη φτιάχνω σε Win Vista....

     

     

     

     


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
  •  04-10-2008, 14:35 45135 σε απάντηση της 45132

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Έχεις δίκιο, έκανα λάθος. Μόλις έφτιαξα ένα sample στο VS2008 σε Vista x64 και παίζει.

    Δεν ξέρω τι μπορεί να φταίει άλλο. Θες να μας δώσει λίγο κώδικα ή κάποιο sample project. Μήπως έχεις κάποιο περίεργο thread να τρέχει, μήπως παίρνεις exception σε κάτι, αλλα το κάνεις Handle σε catch() χωρίς να δίνεις κάποιο μήνυμα ή debugging στην console για να το δεις κι εσύ;


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  04-10-2008, 14:51 45136 σε απάντηση της 45135

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Όπως είπε και ο Παναγιώτης, σε τέτοια πράγματα, χωρίς να δούμε κώδικα, είναι λίγο δύσκολο να ανακαλύψουμε τι φταίει. Ωστόσο, εγώ θα σου πρότεινα να ξανασκεφτείς συνολικά τον σχεδιασμό της εφαρμογής σου. Εφόσον έχεις data που θες να περνάνε από φόρμα σε φόρμα, τότε καλύτερα είναι να έχεις ένα object που να λειτουργεί ως orchestrator και να περιλαμβάνει μέσα του όλη τη λογική του πότε ανοίγει κάθε φόρμα και πώς περνούν τα data. Έτσι, δεν θα χρειάζεται να μπλέξεις με τα events και το lifecycle των φορμών, ενώ είναι πολύ εύκολο να αλλάξεις (αν χρειαστεί) τη λογική αλλά και να κάνεις debug, καθώς θα μπορείς να φτάσεις εύκολα στο σημείο που ανοίγει/κλείνει κάποια από τις φόρμες.


    Vir prudens non contra ventum mingit
  •  04-10-2008, 15:18 45137 σε απάντηση της 45135

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Φίλε παναγιώτη δεν νομίζω οτι υπάρχει λόγος να παραθέσω κώδικα.Είναι όσο απλό όσο ακούγεται. Όσον αφορά τη δευτερη πρόταση σου έχω κάνει τα πάντα..Ότι και να βάλω μέσα στο event εκτελείται (messagebox , writeline  τα πάντα) εκτός από ότι αφορά τη φόρμα 1 και ούτε καν υπάρχει catch exception. Πχ δεν μπορώ κλείνοντας να αλλάξω ένα απλό label στην φόρμα 1..

     

    Μήπως φταίει ο τρόπος που ανοίγει η φόρμα1 δλδ αν έχεις χρησιμοποιήσει το new form ή όχι...θα το δώ και θα σας ξαναπώ......

     

     

    Ευχαριστώ Παρα πολύ παιδιά...

     

     


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
  •  04-10-2008, 15:23 45138 σε απάντηση της 45136

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Kelman ωραίο το σενάριο που προτείνεις αλλά μακάρι νά ξερα είδες που λέει...Λυπάμαι πραγματικά που δεν γνωρίζω όλα αυτα που θα με βοηθούσανε.....Αμα είχες κάποιο documentation πάντως θα το εκτιμούσα πάρα πολύ......

     

     

    Ευχαριστώ πολύ παιδιά για το χρόνο σας.....


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
  •  04-10-2008, 16:19 45140 σε απάντηση της 45138

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Μπορείς να βάλεις breakpoint και να δεις πως εξελίσσεται η ροή του προγράμματος (χρησιμοποιώντας step into) στο closing event, δηλαδή να επιβεβαιώσεις ότι καλείται ο constructor της νέας φόρμας αλλά και ότι καλείται το Show() method της;

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  04-10-2008, 16:48 45141 σε απάντηση της 45140

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Το έχω κάνει , εκτελούνται τα πάντα χωρίς κανένα αποτέλεσμα....

    σταματάει στο breakpoint αλλά χωρίς να αλλάξει κάτι στην φόρμα (1) που είνα ανοιχτή


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
  •  04-10-2008, 16:57 45142 σε απάντηση της 45140

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Θα μπορούσες σε παρακαλώ να γράψεις αυτές τις λίγες γραμμές κώδικα που έχεις μέσα στην Form1 όταν πατάς το κουμπί και ανοίγει η Form2; Κυρίως θέλω να δω πως περνάς την Form1 μέσα στην Form2 και στην συνέχεια πως ανοίγεις την Form2.
  •  05-10-2008, 12:06 45152 σε απάντηση της 45142

    Απ: Σπάσιμο νέυρων (Sorry για το θέμα αλλά δεν αντέχω άλλο.)

    Βεβαίως φίλε μου , είναι πολύ ευκολό....Επειδή δεν θέλω να κλείνει η Form1 οταν ανοίγει η form2 χρησιμοποιώ μόνο το form2.ShowDialog() στο buttonClick Event της form1.

     

     


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems