Tach!
Also zuerst mal zu meinem Problem:
Ich möchte gerne ein Plugin-System erstellen, bei dem ich eine Hauptanwendung habe, die einen Schnittstelle für Plugins erlaubt.
Wenn ich über diese Schnittstelle ein neues Plugin einbinde, soll das Plugin selbstständig arbeiten.
Sprich: Nicht wie in diesem Tutorial hier: Wie erstelle ich ein PlugIn System unter VB.NET (Framework 2), dass ich in meiner Hauptanwendung Funktionen aus dem Plugin aufrufe, die ich selber rein programmiere.
Sondern, dass das Plugin nach dem Registrieren z.B. einen Button auf der MainForm hinzufügt und wenn ich den dann drücke, die entsprechende Funktion im Plugin aufgerufen wird.
Ich also NICHT schon beim Programmieren der Hauptanwendung wissen muss, WELCHE Funktionalitäten das Plugin mir zur Verfügung stellt.
Wie es richtige Plugins halt nunmal tun (Bsp: Notepad++: Da kann ich ja auch ein Plugin(DLL) hinzufügen, daraufhin wird ein neuer Eintrag im Menubar oder im DropDown im Menubar hinzugefügt)
Hab bisher zwar etliche Tutorials gesehen, aber da wird, wie in dem Tut von mikeb96 immer nur die Variante beschriebenm, dass die Anwendung über Reflections und Schnittstellen festgelegte Funktionen aufruft. Ich will es aber so lösen, dass besagtes Plugin ein Steuerelement auf die Mainform packt, einen Eventhandler registiert und dann das Eventhandling selber iwie löst.
Einer meiner Gedankengänge wäre gewesen, dass ich im Interface, dass das Plugin definiert, in der Init-Methode(oder wie auch immer ich die nenne) eine Referenz auf die Hauptanwendung mitgebe. Sodass ich dann über die Referenz auf die MainForm Control Collection meine Steuerelemente hinzufüge. Doch dann würde ich mir
1.) Eine Riesen Sicherheitslücke einfangen(Hacker könnte auf MainForm und die Member zugreifen) und
2.) Denke ich mal, ist das besch...es Design
Kann mir bitte wer einen Hinweis/Link auf ein Tutorial gebene, dass meine Anforderungen entspricht?
Lg Radinator
PS: Evtl werde ich das dann in ein Tutorial hier auf vb-paradise.de umwandeln. Dann hat jeder was davon ;D
Also zuerst mal zu meinem Problem:
Ich möchte gerne ein Plugin-System erstellen, bei dem ich eine Hauptanwendung habe, die einen Schnittstelle für Plugins erlaubt.
Wenn ich über diese Schnittstelle ein neues Plugin einbinde, soll das Plugin selbstständig arbeiten.
Sprich: Nicht wie in diesem Tutorial hier: Wie erstelle ich ein PlugIn System unter VB.NET (Framework 2), dass ich in meiner Hauptanwendung Funktionen aus dem Plugin aufrufe, die ich selber rein programmiere.
Sondern, dass das Plugin nach dem Registrieren z.B. einen Button auf der MainForm hinzufügt und wenn ich den dann drücke, die entsprechende Funktion im Plugin aufgerufen wird.
Ich also NICHT schon beim Programmieren der Hauptanwendung wissen muss, WELCHE Funktionalitäten das Plugin mir zur Verfügung stellt.
Wie es richtige Plugins halt nunmal tun (Bsp: Notepad++: Da kann ich ja auch ein Plugin(DLL) hinzufügen, daraufhin wird ein neuer Eintrag im Menubar oder im DropDown im Menubar hinzugefügt)
Hab bisher zwar etliche Tutorials gesehen, aber da wird, wie in dem Tut von mikeb96 immer nur die Variante beschriebenm, dass die Anwendung über Reflections und Schnittstellen festgelegte Funktionen aufruft. Ich will es aber so lösen, dass besagtes Plugin ein Steuerelement auf die Mainform packt, einen Eventhandler registiert und dann das Eventhandling selber iwie löst.
Einer meiner Gedankengänge wäre gewesen, dass ich im Interface, dass das Plugin definiert, in der Init-Methode(oder wie auch immer ich die nenne) eine Referenz auf die Hauptanwendung mitgebe. Sodass ich dann über die Referenz auf die MainForm Control Collection meine Steuerelemente hinzufüge. Doch dann würde ich mir
1.) Eine Riesen Sicherheitslücke einfangen(Hacker könnte auf MainForm und die Member zugreifen) und
2.) Denke ich mal, ist das besch...es Design
Kann mir bitte wer einen Hinweis/Link auf ein Tutorial gebene, dass meine Anforderungen entspricht?
Lg Radinator
PS: Evtl werde ich das dann in ein Tutorial hier auf vb-paradise.de umwandeln. Dann hat jeder was davon ;D
In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell