Rasmus wrote:
> Hej
>
> Jeg bruger Borland C++ Builder og er prøver på at få en C# dll (kompilet med
> MS Visual C#) og mit C++ program til at virke sammen.
> C# dll'en indeholder funktionen testMethod() som returnerer et tal af typen
> int.
> Jeg prøver at linke dll'en dynamisk sådan:
> dllhandle=LoadLibrary("ClassLibrary2.dll");
[klip]
Hej Rasmus
En "C# dll" er formentlig en .NET assembly (dvs. managed code), og det
er ikke det samme som en "gammeldags" (unmanaged) dll. At de begge
hedder .dll er imho noget uheldigt. Du kan svjv ikke bruge en managed
assembly fra et unmanaged program, da den indeholder .NET byte-code
(groft sagt).
> Det er vist noget med at man skal lave en såkaldt managed wrapper class?
En managed wrapper class bruges til at importere unmanaged dll'er til
managed code, altså nærmest det modsatte af, hvad du ønsker.
> Hvad er det, hvordan fungere det og hvordan laver man sådan en? Findes der
> evt. en toturial om det?
Det er muligt at der findes et eller andet bibliotek, der gør det muligt
at bruge managed code fra unmanaged, men jeg kender ikke til det, og vil
umiddelbart også tro at det kræver at brugeren har .NET Frameworket
installeret.
Mht. at bruge unmanaged code fra managed, er jeg sikker på at google vil
være dig behjælpelig ;)
MVH Per Thomsen,
http://www.pert.dk/