díky, povedlo si mu už konečně načíst pluginy (v dokumentaci je drobna chybka místo: a) Hlavní jmený prostor pluginu musí být “OphiteLoader“. by mělo být "OphitePlugin"). Trochu tápám, jak udělám, když mám v pluginu User Controls, který potřebuji zobrazit na formuláři hlavní aplikace. Z dokumentace bych řekl, že se k tomu budou využívat funkce ParentForm a ParentControl. Nenašel jsem funkci, jak potom k předanemu formuláři zase přistoupit, abych mohl do něj přiřadit User Controls z pluginu.
Hlavní aplikace:
namespace TestPlugin
{
public partial class Form1 : Form
{
public OIPlugin pluginA;
public Form1()
{
InitializeComponent();
OLoader.ErrorReporting += (ErrorReporting_Handler);
}
private void button1_Click(object sender, EventArgs e)
{
if (OLoader.Load("PluginA.dll"))
label1.Text = "Ano";
else
label1.Text = "Ne";
}
private void button2_Click(object sender, EventArgs e)
{
pluginA = OLoader.Get("PluginA");
label3.Text = pluginA.PluginName;
pluginA.ParentForm(this);
}
private void ErrorReporting_Handler(OExceptionType type, Exception ex)
{
label2.Text = type.ToString() + "; " + ex.Message;
}
}
}
Plugin:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OphiteLoader;
namespace OphitePlugin
{
public class Plugin : OPluginBase
{
private string myName;
private string myAuthor;
private string myDescription;
private string myVersion;
Control myControl;
public Plugin()
{
this.myName = "PluginA";
this.myAuthor = "Aaaa Bbbbb";
this.myDescription = "Toto je plugin A";
this.myVersion = "1.0.0.0";
myControl = new Control();
???.Controls.Add(this.myControl); // Jak přistoupit k formuláři hlavní aplikace???
}
public override string PluginName
{
get { return this.myName; }
}
public override string Author
{
get { return this.myAuthor; }
}
public override string Description
{
get { return this.myDescription; }
}
public override string Version
{
get { return this.myVersion; }
}
}
}