Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2006, 05:10
ofl666
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 21 años, 7 meses
Puntos: 0
Pregunta Excepción usando PInvoke

Buenas...

Estoy intentando llamar a una función externa (de la glu32.dll que es una librería de OpenGL aunque de donde sea tampoco tiene mucha importancia aqui) desde .NET, lo he hecho con otras mil funciones de esa misma librería y de otras y nunca he tenido ningún problema pero en una determinada función no consigo hacerlo:

[DllImport(glu32, EntryPoint ="gluNewQuadric")]
public static extern object gluNewQuadric ( );

El caso es que al invocar a esta función me salta una System.Runtime.InteropServices.MarshalDirectiveExc eption con el siguiente mensaje: "Restricción PInvoke: no se pueden devolver variantes" por lo que entiendo que los tiros van por el tipo de valor devuelto...

La función original tendría la forma:
GLUquadricObj *gluNewQuadric(void);

¿Alguien sabe por que ocurre esto? ¿como solucionarlo? ¿alguna pista?... no se, lo que sea, algo de información al respecto, estoy completamente perdido.

Gracias