C/Visual C - namespaces :-S

 
Vista:

namespaces :-S

Publicado por Avancari (2 intervenciones) el 19/07/2007 00:28:18
Hola!

Hice una dll en C# de VS .NET y ahora quiero ejecutarla desde código fuente en Borland C++.

Pero me da un problema xq ocupo usar el mismo namespace en ambas. El namespace en la DLL se llama "ClassLibrary1".

Aunq ponga los archivos en la misma dirección q el proyecto de C++, el compilador me dice que no puede encontrar el namespace.

Supongo q no debería ser el problema dado q el namespace es del lenguaje, no del editor.

De antemano muchas gracias por ayudarme!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:namespaces :-S

Publicado por fernando.gomez (1603 intervenciones) el 19/07/2007 05:49:33
El problema es que C# maneja código administrado, mientras que C++ no lo hace. ¿De dónde sacaste que podrías mezclar los lenguajes?

En fin, para términos de interoperación entre lenguajes, C# soporta una técnica llamada "marshalling" que lo que hace es crear interfases y "stubs" de memoria para transmitir de un dato a otro. La forma de lograrlo en C++ es crearte un componente COM --una clase derivada de IUnknown y para el caso, de IMarshall, IMoniker y probablemente IDispatch (estas interfases, obvio, no son estándares sino que vienen con el API de COM). Esto además de todo lo que tienes que hacer para que funcione un componente COM (ya sabes, crear las funciones de registro, inicialización, etc, además de tu clase derivada de IClassFactory, etc. En esencia, una clase en C# la puedes tratar como componente COM. No estoy muy seguro, pero creo que tu clase de C# debe implementar System.Interop.IComponent. No recuerdo bien.

Ahora, antes de seguir y gastarme esfuerzos explicando qué tienes que hacer, la pregunta obvia: ¿sabes COM? ó bien: ¿sabes ATL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:namespaces :-S

Publicado por Avancari (2 intervenciones) el 19/07/2007 15:33:29
Hola!

Tengo pocos conocimientos respecto a COM, pero las pruebas del proyecto en el q estoy trabajando se retrasaron aproximadamente una semana, por eso el tema lo vulevo a tocar hasta el próximo miércoles aparentemente.
De todas maneras gracias, en una semana te preguntaré de nuevo! buen día :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar