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

 

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

callback function+threading

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

    callback function+threading

    Δουλευω με C#. Στο προγραμμα μου εχω μια class που θελω να της βαλω μια λειτουργια. Ομως θελω αυτη η αλλη λειτουργια να δουλευει και σε αλλο thread οπως επισης και να επικοινωνει με void στην κυριως φορμα με callback function ωστε να ενημερωνει την void της κυριως φορμας με στατιστικα απο τη λειτουργια της class. Πως θα γινει αυτο?

    Burning The Fire........
  •  30-05-2007, 16:54 32359 σε απάντηση της 32352

    Απ: callback function+threading

    Το post σου είναι λίγο "ασαφές", ίσως με λίγο κώδικα να το έκανες πιο κατανοητό ...

    Κατα τ' άλλα άρχισε κάνοντας ένα search για reference στο IAsyncResult στο MSDN, νομίζω οτι θα βρείς τις απαντήσεις σου εκεί. Διάβασε όμως και αυτό, που είναι λίγο πιο .. βαθύ.

    Angel
    O:]
  •  30-05-2007, 19:49 32369 σε απάντηση της 32359

    Απ: callback function+threading

    Οκ θα τα δω και αυτα. Αυτο που εννοω ειναι:

    Εχουμε την κυριως φορμα οπου ο χρηστης πατα ενα κουμπι για να ξεκινησει μια λειτουργια που εχω βαλει μεσα σε μια class και θα εκτελειται σε αλλο thread. Δηλαδη

    myclass cl = new myclass();
    cl.Dosomething():

    Αυτα ειναι μεσα στο κουμπι που πατα ο χρηστης. Τωρα η class εχει μεσα στη λειτουργια Dosomething καποιο κωδικα οπως

    public void Dosomething()
    {
    //kane diafora
    }

    Αλλα καθως η παραπανω λειτουργια κανει καποια πραγματα πρεπει να προβαλει και διαφορες πληροφοριες οποτε εχουμε

    public void Dosomething()
    {
    //kane diafora
    //entoles gia anafora pliroforion.
    }

    Αυτες οι εντολες για "αναφορα πληροφοριων" σκεφτηκα οτι μπορουν να χτυπανε σε καποια αλλη void στην κυριως φορμα και αυτη να παιρνει τις πληροφοριες και να τις δινει στην οθονη δηλαδη καπως ετσι

    private void Showinfo(string a,string b, string c) //void stin kirios forma
    {
    lbla.text = a;
    lblb.text = b;
    lblc.text = c;
    }

    Το προβλημα μου ειναι η επιτυχεις συνδεση λειτουργιας της class και παραπανω κωδικα ωστε να ενημερωσω το χρηστη για διαφορα πραγματα.

    Burning The Fire........
  •  30-05-2007, 20:08 32371 σε απάντηση της 32369

    Απ: callback function+threading

    Κοίτα το BackgroundWorker component. Είναι φτιαγμένο ειδικά για να εκτελεί εργασίες σε άλλο thread και να ειδοποιεί με το σωστό τρόπο τη φόρμα. Το Αν κοιτάξεις στο σχετικό κεφάλαιο του MSDN Library, θα βρεις παραδείγματα και How-To για να κάνεις αυτά που θέλεις.

    Συνοπτικά, το BackgroundWorker έχει το DoWork event στο οποίο εκτελείς τη χρονοβόρα διαδικασία. Περιοδικά καλείς την ReportProgress μέθοδο η οποία σηκώνει το ProgressChanged event για να ειδοποιήσει τη φόρμα ότι η επεξεργασία προχωράει. Εκεί μπορείς π.χ. να χρησιμοποιήσεις την τιμή που σου δίνει το ProgressChanged event για να αλλάξεις την τιμή ενός progress bar στη φόρμα.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  12-06-2007, 10:09 32862 σε απάντηση της 32371

    Απ: callback function+threading

    Τελικα το ελυσα το προβλημα με events. Το εφτιαξα ωστε να "σηκωνονται events" οπως και στα κουμπια κτλ. Ευχαριστω
    Burning The Fire........
  •  12-06-2007, 10:11 32863 σε απάντηση της 32352

    Απ: callback function+threading

    Τελικα το ελυσα το προβλημα με events οπως και στα κουμπια κτλ. Ευχαριστω
    Burning The Fire........
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems