llo Community,
ich versuche mich grade an [Release] PluginLib [2.1].
Das Projekt beispiel was dabei ist kappier ich soweit.
Nun wollte ich das Beispiel auf eine Form bringen.
Doch leider steh ich irgendwie auf dem schlauch -.-
So sieht momentan das Projekt aus.
An der PlugIn .dll habe ich nix geändert, möchte halt nur die Werte aus der .dll auslesen.
Es kommt dieser fehler: (siehe Anhang)
Jemand ein Tipp ?
EDIT LÖSUNG:
Methode und Variablen beim Form_load an den Manager binden.
ich versuche mich grade an [Release] PluginLib [2.1].
Das Projekt beispiel was dabei ist kappier ich soweit.
Nun wollte ich das Beispiel auf eine Form bringen.
Doch leider steh ich irgendwie auf dem schlauch -.-
VB.NET-Quellcode
- Option Strict On
- Imports PluginLib
- Public Class Form1
- Dim Manager As PluginLib.PluginLib = New PluginLib.PluginLib("$plugin", "PluginLibTest")
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Manager.LoadPlugins(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\", Nothing) + "\Plugins", IO.SearchOption.TopDirectoryOnly)
- For Each Plugin As KeyValuePair(Of String, PluginLib.Plugin) In Manager.GetPlugins()
- Label1.Text = "Pluginname: " + Plugin.Value.GetVariable("PluginName").GetValue().ToString()
- Next
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- For Each Plugin As KeyValuePair(Of String, PluginLib.Plugin) In Manager.GetPlugins()
- Plugin.Value.GetMethod("TestMethode").Invoke(New Object() {"Hallo Welt!"})
- Next
- End Sub
- End Class
So sieht momentan das Projekt aus.
An der PlugIn .dll habe ich nix geändert, möchte halt nur die Werte aus der .dll auslesen.
Es kommt dieser fehler: (siehe Anhang)
Jemand ein Tipp ?
EDIT LÖSUNG:
VB.NET-Quellcode
- Option Strict On
- Imports PluginLib
- Public Class Form1
- Dim Manager As PluginLib.PluginLib = New PluginLib.PluginLib("$plugin", "PluginLibTest")
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Manager.AddVariable("PluginName")
- Manager.AddVariable("PluginVersion")
- Manager.AddMethod("TestMethode")
- Manager.LoadPlugins(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\", Nothing) + "\Plugins", IO.SearchOption.TopDirectoryOnly)
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- For Each Plugin As KeyValuePair(Of String, PluginLib.Plugin) In Manager.GetPlugins()
- Label1.Text = "Pluginname: " + Plugin.Value.GetVariable("PluginName").GetValue().ToString()
- Label2.Text = "Pluginversion: " + Plugin.Value.GetVariable("PluginVersion").GetValue().ToString()
- Plugin.Value.GetMethod("TestMethode").Invoke(New Object() {"Hallo Welt!"})
- Next
- End Sub
- End Class
Methode und Variablen beim Form_load an den Manager binden.
Mal eine andere Signatur
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ThunderFrog“ () aus folgendem Grund: Lösung