PluginLib [2.1] - Form Beispiel

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ThunderFrog.

    PluginLib [2.1] - Form Beispiel

    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 -.-

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports PluginLib
    3. Public Class Form1
    4. Dim Manager As PluginLib.PluginLib = New PluginLib.PluginLib("$plugin", "PluginLibTest")
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. Manager.LoadPlugins(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\", Nothing) + "\Plugins", IO.SearchOption.TopDirectoryOnly)
    7. For Each Plugin As KeyValuePair(Of String, PluginLib.Plugin) In Manager.GetPlugins()
    8. Label1.Text = "Pluginname: " + Plugin.Value.GetVariable("PluginName").GetValue().ToString()
    9. Next
    10. End Sub
    11. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    12. For Each Plugin As KeyValuePair(Of String, PluginLib.Plugin) In Manager.GetPlugins()
    13. Plugin.Value.GetMethod("TestMethode").Invoke(New Object() {"Hallo Welt!"})
    14. Next
    15. End Sub
    16. 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

    1. Option Strict On
    2. Imports PluginLib
    3. Public Class Form1
    4. Dim Manager As PluginLib.PluginLib = New PluginLib.PluginLib("$plugin", "PluginLibTest")
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. Manager.AddVariable("PluginName")
    7. Manager.AddVariable("PluginVersion")
    8. Manager.AddMethod("TestMethode")
    9. Manager.LoadPlugins(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\", Nothing) + "\Plugins", IO.SearchOption.TopDirectoryOnly)
    10. End Sub
    11. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    12. For Each Plugin As KeyValuePair(Of String, PluginLib.Plugin) In Manager.GetPlugins()
    13. Label1.Text = "Pluginname: " + Plugin.Value.GetVariable("PluginName").GetValue().ToString()
    14. Label2.Text = "Pluginversion: " + Plugin.Value.GetVariable("PluginVersion").GetValue().ToString()
    15. Plugin.Value.GetMethod("TestMethode").Invoke(New Object() {"Hallo Welt!"})
    16. Next
    17. End Sub
    18. End Class


    Methode und Variablen beim Form_load an den Manager binden.
    Bilder
    • PlugInLib to Form.PNG

      66,37 kB, 948×450, 105 mal angesehen
    Mal eine andere Signatur ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ThunderFrog“ () aus folgendem Grund: Lösung