crear dll en VFP9 y usarlo en C# .net

597 views
Skip to first unread message

Alejandro Alanis

unread,
Mar 11, 2015, 8:09:04 PM3/11/15
to publice...@googlegroups.com
que tal, tengo un dll creado en vfp 9, que puedo usar sin problemas en vfox. mi problema es que necesito usarlo desde una aplicación desarrollada en .net

en fox lo uso con createObject("midll.miclase")



en c# lo trato de importar con 
 [DllImport("midll.dll",CharSet = CharSet.Unicode)]
public static extern string mifuncion(string action, string cadena);

y el error que me regresa c# al momento de llamar la funcion es.

---------------------------
---------------------------
No se puede encontrar el punto de entrada denominado 'mifuncion' en el archivo DLL 'midll.dll'.
---------------------------
Aceptar   
---------------------------

alguien que me pueda orientar.

saludos!

Hugo C.

unread,
Mar 11, 2015, 9:00:02 PM3/11/15
to publice...@googlegroups.com
Tal vez este articulo ayude (en Ingles)

Saludos.

Victor Espina

unread,
Mar 12, 2015, 10:22:04 AM3/12/15
to publice...@googlegroups.com
DllImport sirve es para importar funciones de una libreria C o C++.  Para usar una clase ActiveX o COM+ debes primero anadir una referencia a la DLL que contiene la clase dentro de su seccion References en el proyecto.  Una vez hecho eso, instancias la clase como si fuera una clase de .NET:

miDll.miclase  objeto = new miDll.miclase();

Saludos

Victor Espina

Alejandro Alanis

unread,
Mar 12, 2015, 1:53:31 PM3/12/15
to publice...@googlegroups.com
Gracias Victor, asi si puedo ver las funciones del dll, pero no me aparecen los parametros para enviarlos a la funcin.

tengo: c#
miDll.miclase  dll = new miDll.miclase();
string xx = dll.miFuncion("Parametro1","Parametro2") 
 
y me pone como error: no overload for method "miFuncion" takes 2 arguments

cual seria la forma de pasarle los parametros?

en vfox tego declarado el procedimiento asi:

Procedure miFuncion
Parameters Parametro1, Parametr2
.....
.....
endProc 





Alejandro Alanis

unread,
Mar 12, 2015, 2:09:24 PM3/12/15
to publice...@googlegroups.com
ya con esto finalizo el tema.

Procedure miFuncion(Parametro1 as String,Parametro2 as String)

y con eso ya lo puede llamar desde c#

saludos!
Reply all
Reply to author
Forward
0 new messages