Laden...

eigene DLL einbinden

Erstellt von Xeres vor 20 Jahren Letzter Beitrag vor 20 Jahren 3.332 Views
X
Xeres Themenstarter:in
16 Beiträge seit 2003
vor 20 Jahren
eigene DLL einbinden

Hi Leute,

programmiere seid gestern c# 🙂

So und nen erstes Problem hab ich bereits... Wenn ich versuche eine DLL einzubinden (z.B. user32.dll) klappt das wunderbar...

Meine eigene DLL klappt zwar auch von einbinden nur kann ich dann keine meiner Funktionen aufrufen... ich bekomme immer den Fehler:

Der Einstiegspunkt "LadeDaten" wurde in der DLL Test.dll nicht gefunden.

Folgenden Code hab ich:

In dem Programm das die DLL aufruft:

// project created on 08.12.2003 at 19:04
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace MyFormProject 
{		
	class MainForm : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button;
		public MainForm()
		{
			InitializeComponent();
		}
	
		// THIS METHOD IS MAINTAINED BY THE FORM DESIGNER
		// DO NOT EDIT IT MANUALLY! YOUR CHANGES ARE LIKELY TO BE LOST
		void InitializeComponent() {
			this.button = new System.Windows.Forms.Button();
			this.SuspendLayout();
			// 
			// button
			// 
			this.button.Location = new System.Drawing.Point(104, 128);
			this.button.Name = "button";
			this.button.TabIndex = 0;
			this.button.Text = "button";
			this.button.Click += new System.EventHandler(this.ButtonClick);
			// 
			// MainForm
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(292, 273);
			this.Controls.Add(this.button);
			this.Name = "MainForm";
			this.Text = "This is my form";
			this.ResumeLayout(false);
		}
			
		[STAThread]
		public static void Main(string[] args)
		{
			Application.Run(new MainForm());			
		}
// hier
		[DllImport("Test.dll")]
		public static extern int LadeDaten(int I);	

		void ButtonClick(object sender, System.EventArgs e)
		{	
			LadeDaten(10);
		}	
	}			
}

In der Datei der DLL:


using System;

public class Test
{
	public static int LadeDaten(int I)
	{
		return(10);
	}
}

Kann mir da einer weiterhelfen?

Danke

G
205 Beiträge seit 2003
vor 20 Jahren

Ist deine Selbstgeschriebene DLL Datei in C# erstellt worden??? Falls ja kannst du eine Referenz darauf machen und viel leichter verwenden...

X
Xeres Themenstarter:in
16 Beiträge seit 2003
vor 20 Jahren

Wie funktioniert das? Glaub mir der direkten Kompilierung über die csc.exe würde ich das hinbekommen, geht das aber auch mit SharpDevelop?

G
205 Beiträge seit 2003
vor 20 Jahren

Da müsste es irgendwas geben mit Verweis hinzufügen. Über dies musst du dann einfach deine DLL Datei einbinden.