• Domingo 22 de Diciembre de 2024, 10:38

Autor Tema:  Acceso Desde C# A Dll Compilada En Gcc  (Leído 1127 veces)

netyweb

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Acceso Desde C# A Dll Compilada En Gcc
« en: Miércoles 31 de Octubre de 2007, 14:28 »
0
Hola a todos.

He visto en la documentacion de MinGW cómo se crea una DLL.
web: www.mingw.org/docs.shtml

Estaba pensando en crear una DLL accesible desde C#.

He empezado creando el codigo con Dev-Cpp y despues compilando como dice en la documentacion anteriormente citada.

Despues, a lo bestia, he ido a abrir un proyecto de consola en C# y al agregar referencia
eligo la dll que se ha creado de la compilacion anterior.

Al aceptar me dice que No se puede agregar referencia(...) y que me asegure de tener acceso al archivo y de que es un ensamblado o componente COM valido.

La duda está en si se puede utilizar la dll(hecha con Dev-cpp) como he hecho antes y acceder a ella desde C# pero haciendolo bien, sin el error que me sale, o hay que reescribirla creando una version de dll en C# para que pueda ser accesible desde el mismo C#?


Muchas gracias, y salu2

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Acceso Desde C# A Dll Compilada En Gcc
« Respuesta #1 en: Jueves 1 de Noviembre de 2007, 13:53 »
0
si puedes pero no agrgandola como referencia.

Utiliza esta técnica:
Código: Text
  1.  
  2. [DllImport("CoreDll.DLL")]
  3. private static extern int CreateProcess(
  4.     String imageName,
  5.     String cmdLine,
  6.     int lpProcessAttributes,
  7.     int lpThreadAttributes,
  8.     Int32 boolInheritHandles,
  9.     Int32 dwCreationFlags,
  10.     int lpEnvironment,
  11.     int lpszCurrentDir,
  12.     int si,
  13.     int pi);
  14. //
  15. public static void Execute(String exeName, String cmdLine)
  16. {
  17.     CreateProcess(exeName, cmdLine, 0, 0, 0, 0, 0, 0, 0, 0);
  18. }
  19. public static void Execute(String exeName)
  20. {
  21.     //CreateProcess(exeName, "", 0, 0, 0, 0, 0, 0, 0, 0);
  22.     Execute(exeName, "");
  23. }
  24.  

en este mismo foro encontraras varios hilos que toman el tema.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

netyweb

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Acceso Desde C# A Dll Compilada En Gcc
« Respuesta #2 en: Viernes 2 de Noviembre de 2007, 17:37 »
0
Gracias por la respuesta.

He encontrado aqui: www.codeproject.com/csharp/usecdlllibincs.asp

una solucion mas precisa de lo que buscaba y me lo ha solucionado.

De todas maneras tomo nota de tu propuesta.

Gracias, salu2