|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Export function problem (unmanged to managed)I am trying to call an Unmanaged code (MFC C++) from Managed code (c#) I have declared in the unmanaged code the function: extern "C" { _declspec(dllexport) int get_DocName(); } In the c# code I write: [DllImport("C:\\MyProj.dll", EntryPoint="get_DocName", ExactSpelling=false,CallingConvention=CallingConvention.Cdecl)] static extern int get_DocName(); When I try to compile the c# code, I get the error: C:\C#Test\Form1.cs(21,78): error CS1518: Expected class, delegate, enum, interface, or struct C:\C#Test\Form1.cs(21,63): error CS0106: The modifier 'extern' is not valid for this item Can someone please explain ? Yoav. >In the c# code I write: Like any other method declaration, it must be placed inside a class>[DllImport("C:\\MyProj.dll", EntryPoint="get_DocName", >ExactSpelling=false,CallingConvention=CallingConvention.Cdecl)] >static extern int get_DocName(); > >When I try to compile the c# code, I get the error: >C:\C#Test\Form1.cs(21,78): error CS1518: Expected class, delegate, enum, >interface, or struct >C:\C#Test\Form1.cs(21,63): error CS0106: The modifier 'extern' is not valid >for this item > >Can someone please explain ? (or struct). C# doesn't support global methods. Mattias -- Mattias Sjögren [C# MVP] mattias @ mvps.org http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com Please reply only to the newsgroup. |
|||||||||||||||||||||||