11. marts 2003 - 23:28Der er
8 kommentarer og 2 løsninger
Import af dll
Hey Jeg er helt ny i dll-verdenen: derfor: 1. hvordan importerer jeg en dll-fil i mit C# program? 2. Og hvordan kalder jeg dens metoder? 3. Er koden skrevet rigtigt? (det var jo hele tre ting)
Understående kode virker ikke!!!
namespace Dll{ class Test{ public static int get(){ return 7; } } }
class go{ public static void Main(string []args){ System.Console.WriteLine("dw" + Dll.Test.get()); } }
Det kommer an på om det er en .NET-DLL eller en Win32 API-DLL (altså Windows-funktioner).
Hvis det er .NET, skal du putte en reference til filen når dit program kompileres: csc /r:DinDLL.dll ditprogram.cs Husk at importere DLL'ens namespace i dit program ("using"-statement).
Hvis det er en native Win32 API DLL, skal du importere namespaces System.Runtime.InteropServices, og definere funktionerne fra DLL'en på følgende måde i dit program: [DllImport("dllfil.dll")] public static extern ReturType Funktion(FunktionArgumenter);
den skriver: Go.cs(1,7): error CS0246: The type or namespace name 'Dll' could not be found (are you missing a using directive or an assembly reference?) hvor skal Dll.dll filen ligge i forhold til programmet?
_just4fun_ >> Jeg er ikke helt med på hvor det er du vil hen... Jeg skriver jo netop at det kommer an på hvilken slags DLL det er.
En DLL-fil lavet med en .NET-compiler er selvfølgelig en .NET (eller managed) DLL-fil. En DLL-fil fra Windows, er så en Windows-DLL (eller Win32 API DLL).
Skal vi nu ikke gå ud fra at det er en .Net dll da den klasse han refererer (Dll.Test) er en han selv laver umiddelbart inden. (det kan godt betale sig at læse spørgsmålet :-))
z42cool -> tjow...;-) Simon -> Jeg tænkte at repsak ikke kunne få det til at virke da der ikke var svaret tilbage her til formiddag... Og hvis der skulle graves mere i det (eller at det f.eks. havde været en ActiveX-dll...) var det en rimelig vigtig information at have.
Men lidt nærlæsning af eksemplet kunne som z42.. nævner vist have givet et hint.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.