18. marts 2006 - 22:26Der er
20 kommentarer og 1 løsning
loade en dll der indeholder en form i et program. hvordan ?
Hej Folkens...
Jeg vil gerne loade en dll der indeholder en form i mit program, hvor formen fra dllén bliver at se, med tilhørende funktionalitet... me øøh jeg ved ikke helt hvorledes.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
mener du referere som i references i solution explorer ? njooee men det er mere.... JEg har lavet en dll med en form i.... jeg vil gerne kalde denne dll fra min program, ogdemed få dlléns form at se... det er mere det.. endvidere skal det ske dynamisk. dvs alle dller tilrådighed hvor der kigges.... tja... ved ik om jeg beskriver det hele idt dumt...
aha.. har lavet et simpelt forsøg... her kommer koden. har indsat kode fra arnev, men den gir en fejl.
An unhandled exception of type 'System.NullReferenceException' occurred in WindowsApplication19.exe Additional information: Object reference not set to an instance of an object.
forslag ?
(ClassLibrary2.dll) using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
namespace ClassLibrary2 { /// <summary> /// Summary description for Class1. /// </summary> public class Class1 : System.Windows.Forms.Form { private System.ComponentModel.Container components = null;
public Class1() { // // Required for Windows Form Designer support // InitializeComponent();
#region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Size = new System.Drawing.Size(300,300); this.Text = "Class1"; } #endregion
/// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new Class1()); } } } (WindowsApplication19) using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Reflection;
public Form1() { // // Required for Windows Form Designer support // InitializeComponent();
Form f = (Form)Assembly.LoadFrom("ClassLibrary2.dll").CreateInstance("Class1"); f.ShowDialog(); //Assembly MyAssembly = Assembly.LoadFrom("ClassLibrary2.dll"); //Type t = MyAssembly.GetType("ClassLibrary2"); //MethodInfo m = t.GetMethod("janus"); //MethodInfo[] m1 = t.GetMethods(); //Object o = Activator.CreateInstance(t);
// // TODO: Add any constructor code after InitializeComponent call // }
/// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }
#region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Size = new System.Drawing.Size(300,300); this.Text = "Form1"; } #endregion
/// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } } }
hov en kommentar mangler.... det virker nu... men det viser sig at formen fra dll filen blokerer for formen i programmet(.exe)dvs når dll formen lukkes, først da fremkommer formen fra programmet.... ?!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.