Laden...

PlugIn-Funktionalität in eigene Anwendung einbauen

Erstellt von Coooder vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.361 Views
Thema geschlossen
C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren
PlugIn-Funktionalität in eigene Anwendung einbauen

hi,

ich würde gern ein programm schreiben das man mit Plugins erweiterbar is
ich bin mir aber noch sehr unschlüssig über die umsetztung. Ich hab mir das ungefärh so vorgestellt:

Es soll einen PlugIn Ordner geben wo die PlugIns dann alle drin sind, in form von dll´s oder so.
Im Hauptprogramm gibt es dann ein TabControl und für jedes neue Plugin was aktiviert ist gibs nen neuen Tab

so war jetzt erstmal meine grund überlegung ... is das so in etwa umsetztbar? oder gibs da bessere möglichkeiten?

301 Beiträge seit 2009
vor 12 Jahren

Ich glaube bevor du dir Gedanken über die GUI machst solltest du erst einmal schauen wie du diese Plugins überhaupt in dein Programm laden gedenkst 😉. So einfach ne DLL irgendwohin legen bringt dein Programm schließlich nicht dazu diese auch zu beachten und zu laden.

2.298 Beiträge seit 2010
vor 12 Jahren

So einfach ne DLL irgendwohin legen bringt dein Programm schließlich nicht dazu diese auch zu beachten und zu laden.

Das bekommt er dann aber mit 5 Zeilen Code hin. 😃

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

ja, es ging mir auch unter anderem darum wie ich mein prog auf eine dll reagieren lassen kann
denn ich wüsste nich wie ich das zur laufzeit machen kann

aber 5 zeilen scheinen nich so schwer zu sein 😄
wie würde sowas denn dann ungefähr aussehn?

B
198 Beiträge seit 2005
vor 12 Jahren

Hallo,

Für Pluginfunktionalität bietet dir das MEF (Microsoft Extensibility Framework) eine gute Basis.

MSDN Artikel:

Managed Extensibility Framework Overview

Ein Beispiel über die Verwendung des MEF:

FileSystemWatcher mit MEF / Neue Plugins automatisch nachladen

Alternativ zum MEF gibt es auch noch folgende Vorgehensweise:

1.) Interface erstellen, von welchem die .dll's die du laden willst ableiten (einfachste Form einfach nur eine "PluginStart()" Methode.

2.) Die .dll's im Ordner über die integrierten Reflection Technologie des .NET Frameworks einlesen und prüfen ob sie das Interface ableiten.

3.) Die "PluginStart()" Methode der .dll Aufrufen.

5.658 Beiträge seit 2006
vor 12 Jahren

Hi Coooder,

hast du schonmal auf CodeProject geschaut? Da gibt es nämlich ne Menge Artikel dazu, z.B. ...

Task Plug-in: A Flexible .NET Plug-in Architecture
A Simple Plug-In Library For .NET
Plugin Architecture using C#

Christian

Weeks of programming can save you hours of planning

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo Coooder,

man muss gar nicht in die Ferne schweifen. Auch hier im Forum gibt es dazu was, sogar in der FAQ [FAQ] Eigene Anwendung pluginfähig machen und in vielen anderen Theads, die man leicht über die Forensuche findet.

Insofern gilt für diesen Thread hier in erster Linie mal [Hinweis] Wie poste ich richtig? Punkt 1.1. Mit etwas mehr Eigeninitiative im Vorfeld wäre der Thread überflüssig gewesen.

Einzige der Wunsch, dass die Plugins auch ihr GUI beinhalten sollten ist etwas spezieller, wenn auch nicht wirklich ungewöhnlich. Das Generic Manipulator Tool zeigt einen Weg, wie man die Plugins unabhängig von einer konkreten GUI-Technologie macht.

herbivore

Thema geschlossen