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

 

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

Άνογμα στο ιδιο πάραθυρο

Îåêßíçóå áðü ôï ìÝëïò xenophon. Τελευταία δημοσίευση από το μέλος xenophon στις 15-01-2008, 20:51. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-01-2008, 21:38 39180

    Άνογμα στο ιδιο πάραθυρο

    Πολύ συχνά σε εφαρμογές αντί να ανοίγει κάθε φορά νέο παράθυρο του προγράμματος αυτού
    ανοίγει στο ιδι ανοιχτό ενα tab mdi child ή κατι αλλο

    πως γίνετε σε μια εφαρμογή VB να γίνετε αυτό
    για παράδειγμα αν έχω κάνει μια εφαρμογή που όταν ανοίγεις αρχεία txt στον windows explorer τα ανοίγει στην εφαρμογή σου
    αλλά αντί κάθε φορά να ανοίγει ξανά την εφαρμογή να δίνει κάπως την εντολή στο πρόγραμμα για να το ανοίξει.

    Δημοσίευση στην κατηγορία:
  •  14-01-2008, 21:40 39181 σε απάντηση της 39180

    Απ: Άνογμα στο ιδιο πάραθυρο

    Αυτό που ζητάς το υλοποιουν τα Windows με DDE. Υπάρχουν αρκέτα παραδείγματα στο codeproject για DDE notifications κλπ, ρίξε μια ματιά.
    Παναγιώτης Κεφαλίδης

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

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  14-01-2008, 21:43 39183 σε απάντηση της 39181

    Απ: Άνογμα στο ιδιο πάραθυρο

    Αν και ξέχασα να σου πω ότι είναι λίγο έως πολύ Legacy technology.
    Παναγιώτης Κεφαλίδης

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

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  14-01-2008, 22:08 39189 σε απάντηση της 39180

    Απ: Άνογμα στο ιδιο πάραθυρο

    Υποθέτω ότι μιλάς για VB.NET και όχι VB6.

    Για να φτιάξεις ένα single instance application μπορείς να χρησιμοποιήσεις έναν mutex. Ένα web search με  "single instance .net application" θα σου δώσει αρκετά σχετικά links.

    Όσο για το να περάσεις στο πρώτο instance της εφαρμογής σου το όνομα του αρχείου που θα ανοίξει, για να αποφύγεις το DDE, που όπως σωστά είπε ο pkefal είναι πεπαλαιωμένο, μπορείς να χρησιμοποιήσεις νεότερες μεθόδους για IPC όπως τα named pipes και τα memory mapped files (όλα unmanaged δυστυχώς).

    Πάντως λάβε υπόψη στο θέμα του single instance ότι την εφαρμογή σου μπορεί να την τρέχουν διαφορετικοί users ο καθένας στο session του, οπότε φρόντισε το όνομα του mutex να εξαρτάται από το user name Smile


    Νατάσα Μανουσοπούλου
  •  14-01-2008, 22:38 39194 σε απάντηση της 39189

    Απ: Άνογμα στο ιδιο πάραθυρο

    Συμπληρωματικά στα παραπάνω: Υπάρχει ένας managed wrapper για τα named pipes σε αυτήν τη διεύθυνση: http://www.codeproject.com/KB/threads/dotnetnamedpipespart1.aspx.

    Επίσης, εδώ υπάρχει ένα παράδειγμα σχετικά με το πώς να χρησιμοποιήσεις το Ipc remoting channel.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  15-01-2008, 08:30 39204 σε απάντηση της 39194

    Απ: Άνογμα στο ιδιο πάραθυρο

    Αν δουλεύεις με VB.NET, για να έχεις single instance εφαρμογή μπορείς απλά να ενεργοποιήσεις την επιλογή "Make single instance application" στα Application Settings. Under the hood, αυτό υλοποιείται με χρήση ενός secure TCP channel.


    Vir prudens non contra ventum mingit
  •  15-01-2008, 20:51 39215 σε απάντηση της 39204

    Απ: Άνογμα στο ιδιο πάραθυρο

    ωχ ήταν όντως το τόσο εύκολο
    ευχαριστώ KelMan & τους υπολοίπους

    Στα application events

            Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
          
            End Sub

    έβαλα αρχικά αυτό από όπου  θα παίρνω το path των αρχείων από το command line και θα ανοίγω νέο έγγραφο στην εφαρμογή μου

    αλλά πως γίνετε να εκτελέσει sub που βρίσκετε σε αλλη φόρμα ?


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