Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/02/2011, 15:22
davinci_das
 
Fecha de Ingreso: febrero-2011
Ubicación: c
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Error al utilizar una función de c++ en c#

Hola a todos. Espero que esten bien.
Tengo un problemita, es el siguiente y espero que me puedan ayudar:

Estoy realizando una aplicacion en c# que utiliza una libreria de c++.

Esta libreria se llama jetft.dll que tiene un metodo que me permite imprimir una cadena de texto:

Código C++:
Ver original
  1. extern "C" JQEXT_API int JQ_PrinterPrint(const wchar_t* txt)
  2. {
  3.     return theJQPrinter().print(txt);
  4. }

y desde c# la invoco de la siguiente manera:

Código C#:
Ver original
  1. [DllImport("jetft.dll")]
  2.         public static extern string JQ_PrinterPrint(ref string txt);

y llamo este metodo asi:

Código c#:
Ver original
  1. string alg = "Texto a imprimir....";
  2.  
  3.   private void button1_Click(object sender, EventArgs e)
  4.         {
  5.          
  6.             JQ_PrinterPrint(ref alg);      
  7.  
  8.         }

y el problema es que no me imprime esa cadena de texto.

Creo que un motivo por el cual no me funciona es porque la libleria c++ recive en su metodo un "const wchar_t* txt" y no se como enviarlo correctamente esa cadena desde c#.

Agradezco que me puedan ayudar.


Última edición por davinci_das; 04/02/2011 a las 07:36