Resulta que en C++ puedes hacer código gestionado igual que en C#. Si es
eso, entonces es como siempre, creas una referencia a la dll y ya está.
En C++ también puedes hacer componentes COM. En este caso necesitarías crear
una referencia COM en tu proyecto C#.
Por último en C++ puedes hacer funciones al estilo del API Win32. Entonces
necesitarías llamar a la función mediante PInvoke.
Saludos:
Jesús López
"Rick" <zata...@gmail.com> escribió en el mensaje
news:OMZkaRme...@TK2MSFTNGP02.phx.gbl...
> Que tal foro, ya compile el proyecto C++ con /clr para poder agregar una
> referencia de mi proyecto C en C#
>
> ahora quiero llamar una funcion de mi proyecto C++ en C#, que declaracion
> debo hacer?
>
>
> --
> Saludos Cordiales!!
>
> e-Ricc
>
> Que tal foro, ya compile el proyecto C++ con /clr para poder agregar una
> referencia de mi proyecto C en C#
>
> ahora quiero llamar una funcion de mi proyecto C++ en C#, que declaracion
> debo hacer?
>
>
Como ya te ha comentado Jesús, el compilar mediante /clr no quiere decir
que ya puedas usar lo escrito en C++ puro desde C#. De hecho, C# no verá
absolutamente nada de ese código sin usar Interop.
Suponiendo que has compilado tu proyecto escrito en C++ normal con /clr,
ahora es el momento de definir, dentro de ese mismo código fuente, clases
del tipo "ref class" o "value class" que envuelvan a ese código.
Algo así.
Imagina que tienes una clase en C++ nativa:
class ClaseNativa
{
public:
ClaseNativa(void){...}
int MetodoNativo(TCHAR *cadena){...}
};
Debes "envolverla":
ref class ClaseManejada
{
ClaseNativa nativa;
public:
ClaseManejada(){}
int MetodoManejado(String ^s)
{
IntPtr ps=Marshal::StringToHGlobalUni(s);
TCHAR *pChar=(TCHAR *)ps.ToPointer();
return MetodoManejado(pChar);
}
}
Es sólo un ejemplo.
--
Microsoft Visual C++ MVP
========================
Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
========================================
Vuestra alegría es vuestra tristeza sin máscara.
-- Khalil Gibran. (1883-1931) Ensayista, novelista y poeta libanés.
Saludos!
"Rick" <zata...@gmail.com> escribió en el mensaje
news:OMZkaRme...@TK2MSFTNGP02.phx.gbl...
> Que tal foro, ya compile el proyecto C++ con /clr para poder agregar una
> referencia de mi proyecto C en C#
>
> ahora quiero llamar una funcion de mi proyecto C++ en C#, que declaracion
> debo hacer?
>
>
> --
> Saludos Cordiales!!
>
> e-Ricc
>