Autor Beitrag
KanneM
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26
Erhaltene Danke: 1

Win98, Win XP, Win 7
Java, C#
BeitragVerfasst: Do 09.02.12 20:13 
Liebe Community,

Ich habe mit Visual Studio eine Klassenbibliothek erstellt (nichts atemberaubendes, zum Test mal eine Methode) und würde diese jetzt gerne in einem Programm aufrufen. Für normale dll´s geht das ja so:
Zitat:
[DllImport("User32.dll")]
public static extern int MessageBox(int h, string m, string c, int type);

Was muss ich jetzt mit meiner dll machen bzw wie muss ich sie wo einbinden, damit ich sie nutzen kann? :roll:
Ich hätte sie jetzt wie folgt eingebunden: (Die Methode der Bibliothek öffnet lediglich die Konsole)
Zitat:
[DllImport("DLL_Test1.dll")]
public static extern void Testmethode();


Danke schonmal im Vorraus,

Michi
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 09.02.12 21:12 
DllImport ist für klassische dlls die ihre Schnittstelle c-typisch exportieren. Wenn du mit C# eine Klassenbibliothek erstellt hast ist das eine .Net Assembly und nicht irgendeine Dll. Eine Assembly kannst du einfach referenzieren und dann benutzen (genauso wie du die Assemblies aus dem .Net Framework referenzierst um sie zu benutzen). Einfach im Visual Studio Solution Explorer auf deinem Project das Kontextmenu öffnen. Dort solltest du den Punkt 'Add Reference' finden. Im folgenden Dialog dann einfach deine Assembly auswählen.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 09.02.12 21:19 
Hallo Michi,

"managed" .NET-Klassenbibliotheken werden normal über die "Verweise" eingefügt (im Projekt-Explorer), s. z.B. unter openbook.galileocomp...harp_2010_07_001.htm (7.1.1 Zugriff auf Namespaces)
DllImport ist nur für native Libraries (mit C-Schnittstelle).

Ups: wieder mal zu langsam - das kommt, wenn man nach passenden Links zu Bildern sucht...