UserControl erstellen für Verwendung in einem Plugin-System

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    UserControl erstellen für Verwendung in einem Plugin-System

    Hallo zusammen,

    ich bin gerade am planen eines neuen Tool für mich und möchte dabei ein Plugin-System verwirklichen um damit Teile/Funktionen einfach austauschen oder erweitern zu können.

    Damit meine ich das ich mehrere kleine Tools als DLL kompiliere und dann in MainForm einlesen/einbinden möchte. Für jede DLL gibt es dann ein Menü-Eintrag über den das Tool in einem Panel angezeigt wird.

    Wie aber kann ich ein Form in einer DLL auslagern (inkl aller Funktionen des Form)? Hier denke ich muss ich ein Usercontrol erstellen, aber da komme ich nicht weiter.

    Ist es so korrekt? Wie erstelle ich das Usercontrol bzw kann ich dieses wie ein Form erstellen, testen und dann auslagern?

    Eigentlich habe ich für jedes Tool eine eigene Form erstellt, aber jetzt würde ich gerne ein Plugin-System aufbauen, ist mehr aus Spass am programmieren als aus Notwendigkeit, aber es ist doch recht interessant :)

    Mir ist nur nicht klar wie ich in einem DLL eben ein Form (z.Bsp. ein bereits bestehendes Tool) einfügen kann.

    Wäre Euch für ein paar Infos sehr dankbar.

    Viele Grüsse,
    Dani



    Nachtrag:
    Bin ich überhaupt auf dem richtigen Weg ein Usercontrol analog zu einem Form zu erstellen um dieses in einer DLL zu verwenden? Ich bin mir gerade gar nicht mehr sicher.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DniBo“ () aus folgendem Grund: Nachtrag

    DniBo schrieb:

    ich bin gerade am planen eines neuen Tool für mich und möchte dabei ein Plugin-System verwirklichen um damit Teile/Funktionen einfach austauschen oder erweitern zu können.

    Einfacher ists, wenn du deine App erweitern willst, dass du sie dann halt erweiterst, und eben neu kompilierst.

    Welche Vorteile versprichst du dir vonne PlugIn-Unterstützung?
    Oder genauer: Was ist das für ein Tool, und an was für PlugIns kannst du dir vorstellen, könnten da sinnvoll sein?
    Später künnen Plugins wircklich sehr Hilfreich sein.
    Hallo ErfinderDesRades :)

    also, ich schreibe verschiedene kleine Tools für meine Arbeit. Diese erleichtern mir das arbeiten enorm da ich damit erkannte Probleme relativ einfach bearbeiten kann.

    Aber alleine aus Interesse (es gibt ja einige Programme die es so machen) möchte ich es ebenfalls mal machen oder zumindest verstanden haben wir das gemacht wird. Derzeit möchte ich aus Spass am Programmieren (wenn ich das mal so nennen darf) es modular erweiterbar machen.

    Ein nächster Ansatz ist das weitere Kollegen gerne damit arbeiten wollen, ich also schon daher (wenn ich die Tools an meine Kollegen gebe) um es einfach erweitern oder austauschen zu können.

    Der tiefere Sinn sehe ich auch darin um später ein updater zu schreiben, der auf unserem Server nach neuen Versionen der Tools (oder besser Module?) sucht und diese downloaded. Das wäre dann das Ziel.

    Alles in allem aber ist es Interesse ein solches System mal zu schreiben.

    Um das jetzt entsprechend angehen zu können, muss ich erst mal verstanden haben wie ich in einer DLL ein komplettes Tool (was nur eine Aufgabe hat) unter zu bringen, also die Funktionen an sich und ein Formular, welches ich dann vom HauptForm aus laden und in einem Panel darstellen kann. Hier könnte ich auch Menüs auslesen und im HauptForm einbinden etc.

    Ich habe mittlerweile bereits weitere Infos ergoogeln können und es interessiert mich immer mehr, nur ich habe noch nicht verstanden wie ich ein Form in eine DLL bringen kann, nur das wäre der erste Schritt...

    Wäre Euch für eine Info daher sehr dankbar :)

    Viele Grüsse,
    Dani
    dann mach doch in deinem Interface eine Property ala Settings(As Form), dann evtl. noch Icon für das Bild im ToolStrip, welches ihr selbst hinzufügen müsst, auch per AddHandler die Klick Routine, in welcher ihr einfach das Formular über die Property aufruft...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    DniBo schrieb:

    also, ich schreibe verschiedene kleine Tools für meine Arbeit.

    Ja, was sind das denn nun für Tools? Was machen die beispielsweise?

    Weil die Theorie von PlugIns ist mir schon so leidlich bekannt.

    Dein Prob mittm Form inner Dll versteh ich übrigens nicht recht: muß man ein KlassenBibliotheks-Projekt anlegen, und ein paar Verweise einbinden (ZB System.Windows.Forms, aber noch weitere). Musstedir halt ein Winform-Projekt angugge, welche Dlls da eingebunden sind.

    Dann kann man in dem KlassenProjekt im Designer Forms erstellen.