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

 

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

port σε Mono και προβληματισμός

Îåêßíçóå áðü ôï ìÝëïò Pilgrim. Τελευταία δημοσίευση από το μέλος Dimitris Papadimitriou στις 20-04-2007, 13:55. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-04-2007, 08:22 30276

    port σε Mono και προβληματισμός

    Έχω αναπτύξει μια Winforms εφαρμογή σε C# την οποία θέλω να κάνω compile και σε Mono (για να τρέχει σε linux)
    Ο προβληματισμός / tricky part είναι ο εξής :

    Η εφαρμογή χρησιμοποιεί το γνωστό browser control AxInterop.SHDocVw, Interop.SHDocVw ή για να το πω αλλιώς κάνω
    using mshtml;
    και σε κάποιο σημείο χρησιμοποιώ και το 
    private AxSHDocVw.AxWebBrowser axWebBrowser1;

    Δηλ. η εφαρμογή είναι μεν Winforms based αλλά έχει και ένα web κομμάτι το οποίο παρουσιάζει στο webbrowser control.
    Όλα αυτά φυσικά δεν θα παίξουν στο Mono, συνεπώς ήθελα να ρωτήσω αν ξέρει κανείς τι εναλλακτικές έχω για να
    μπορώ να έχω browser control (firefox? konqueror?) σε εφαρμογή Winforms που τρέχει σε Mono.
  •  19-04-2007, 11:37 30297 σε απάντηση της 30276

    Απ: port σε Mono και προβληματισμός

    Μπορείς να χρησιμοποιήσεις και τον firefox. Σε αυτό το thread θα βρεις λίγο κώδικα (το θέμα του thread είναι άλλο βέβαια, αλλά θα πάρεις μια ιδέα).

    Μάλλον όμως ούτε κι αυτό θα λύσει το πρόβλημά σου. Ο λόγος είναι ότι η πρόσβαση στα αντικείμενα αυτά γίνεται μέσω com interoperability. Αυτό σημαίνει ότι, π.χ. το AxSHDocVw.AxWebBrowser δεν είναι παρά ένας wrapper που λειτουργεί ως αντιπρόσωπος (proxy) μεταξύ του πραγματικού dll του browser και το .NET. Το πραγματικό dll του browser είναι ένα COM dll. Και φυσικά το com δεν είναι διαθέσιμο στο linux. Αναφέρω αυτά τα θεωρητικά για να σε βάλω στο νόημα.

    Ελπίζω κάποιος άλλος να μπορεί να βοηθήσει περισσότερο. 

    Μπορεί όμως τελικά η λύση να βρίσκεται σε κώδικα που δεν μπορείς ταυτόχρονα να χρησιμοποιήσεις και στα windows και στο linux. Ίσως αν βρεις τη λύση να χρειαστεί να γράψεις έτσι τον κώδικα έτσι ώστε ο compiler του .NET να χρησιμοποιεί το AxSHDocVw.AxWebBrowser και ο compiler του Mono κάτι άλλο.


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  20-04-2007, 13:22 30456 σε απάντηση της 30297

    Απ: port σε Mono και προβληματισμός

    Επειδή το Mono δεν είναι ακόμα 100% συμβατό με το .NET και δεν γνωρίζω πότε θα είναι ...θα σε συμβούλευα να γράφεις σε PHP  που είναι συμβατή και στα δύο περιβάλλοντα...

  •  20-04-2007, 13:55 30462 σε απάντηση της 30456

    Απ: port σε Mono και προβληματισμός

    Vader:
    Επειδή το Mono δεν είναι ακόμα 100% συμβατό με το .NET και δεν γνωρίζω πότε θα είναι ...θα σε συμβούλευα να γράφεις σε PHP  που είναι συμβατή και στα δύο περιβάλλοντα...

    Νομίζω ότι ο φίλος μας μιλάει για desktop εφαρμογή, όχι για web, όπου θα μπορούσες να γράψεις σε PHP.

    Κατά τα άλλα έχεις δίκιο για την επισήμανση. Το Mono δεν είναι ακόμα 100% συμβατό με το .NET. Αλλά δεν είναι αυτό το ζητούμενο και φυσικά δεν είναι λόγος να το απορρίψουμε. Σε κάθε περίπτωση η χρήση του Mono για την ανάπτυξη μιας desktop εφαρμογής σε αυτή τη φάση είναι μάλλον "πρωτοπορεία" γι αυτόν που θα το επιχειρήσει, με όλα τα πλεονεκτήματα και μειονεκτήματα που έχει κανείς όταν είναι πρωτοπόρος σε κάτι.

    Αλλά ας μην ξεφύγουμε από το θέμα. Το θέμα είναι η χρήση browser control μέσω Mono σε Linux.
     


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems