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

 

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

Plugin Προβλημα

Îåêßíçóå áðü ôï ìÝëïò ntaryl. Τελευταία δημοσίευση από το μέλος darklynx στις 16-06-2009, 12:19. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-06-2009, 00:17 51712

    Plugin Προβλημα

    Συνημμένα: plugtest.zip

    καλησπερα   

    Προσπαθω  να φτιαξω ενα παραδειγματακι με το οποιο οταν θα υπαρχει ενα συγκεκριμενο αρχειο μεσα στο καταλογο plugins  να ενεργοποιειται το αντιστοιχο menuitem .και απο εκει  

    μολις πατησω σε αυτο τοτε  να  κανει εκτελεση του plugin   

    αν καποιος μπορει να βοηθησει  

    ευχαριστω πολυ  


    Rookie learn to fly U are my Inspiration...
    Who said Multithreading is impossible
    Try it First and after Deside if is Possible
  •  16-06-2009, 12:19 51722 σε απάντηση της 51712

    Απ: Plugin Προβλημα

    Plugin system σε Visual Basic 6;Δεν θα την χαρακτήριζα ως γλώσσα που θα σε διευκολύνει στην συγκεκριμένη εργασία (βασικά πλέον δε θα σε διευκολύνει σε καμία εργασία) αλλά θα σου δώσω μερικές πληροφορίες για να ξεκινήσεις,δεδομένου ότι ελάχιστα πράγματα θυμάμαι πλέον από την συγκεκριμένη γλώσσα.
    Τι είναι τα plugins;Βιβλιοθήκες κώδικα,κυρίως με τη μορφή dynamic link libraries (όχι απαραίτητα με επέκταση .dll φυσικά).Ως υποθετικό παράδειγμα σε ένα πρόγραμμα επεξεργασίας εικόνας που χρησιμοποιεί plugins ως φίλτρα έχει ένα plugin ονόματι Distort.dll για παραμόρφωση εικόνας,Sharpen.dll για όξυνση αντίθεσης κ.ο.κ. Είναι υποχρεωτικό για κάθε plugin του προγράμματος να υλοποιεί την ίδια ή τις ίδιες συναρτήσεις-στο παράδειγμα αυτό θα ήταν μια συνάρτηση που δέχεται μια array από bytes της αφιλτράριστης εικόνας και θα επέστρεφε πάλι μια array από bytes της φιλτραρισμένης εικόνας.
    Στο πρώτο σκέλος η απάντηση είναι εύκολη:φτιάξε ένα file listbox,βάλε ως directory τον φάκελο με τα plugin σου και βάλε wildcard του τύπου "*.dll".
    Το δεύτερο σκέλος σου δίνει αρκετές επιλογές ανάλογα με το τι είδους dlls θα έχεις.ActiveX;Τότε πρέπει να τα εγκαταστήσεις με το regsvr32 και να καλέσεις την GetObject .Είναι COM Interfaces;Πάλι εύκολο να τα φορτώσεις αλλά θα πρέπει να τα δημιουργήσεις με άλλη γλώσσα,κατά προτίμηση C++.Είναι κανονικά dll;Τότε θα πρέπει να καταφύγεις στις συναρτήσεις του Windows API LoadLibrary,GetProcAddress και SetDllDirectory .Όμως τόσο τα dlls όσο και ο κώδικας που τα διαβάζει πρέπει να φτιαχτούν με άλλη γλώσσα μια που η VB6 δεν υποστηρίζει function pointers.Αν και υπάρχει ένα ωραίο άρθρο επί του θέματος που κάνει δυνατή τη χρήση τους από αυτήν (με μια καλή δόση assembly).Τέλος υπάρχει και η πιθανότητα να χρησιμοποιήσεις class libraries από την VB.NET και να χρησιμοποιήσεις COM interop για να το φορτώσεις στην VB6 φόρμα σου αλλά δεν έχω ιδέα αν αυτό γίνεται δυναμικά.Φυσικά όποια λύση και να ακολουθήσεις είναι απαραίτητο όλα τα plugins να χρησιμοποιούν τις ίδιες κλάσεις-συναρτήσεις-interfaces.
    Αυτά και ελπίζω να σου έδωσα κάποια στοιχεία για να ξεκινήσεις.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems