Foros del Web » Programación para mayores de 30 ;) » .NET »

Excepción usando PInvoke

Estas en el tema de Excepción usando PInvoke en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/03/2006, 05:10
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 20 años, 8 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
  #2 (permalink)  
Antiguo 30/03/2010, 18:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
Mensaje Respuesta: Excepción usando PInvoke

El problema es porque tu DLL esta teniendo problema en la funcion que estas tratando de ejecutar.

Problablemente al Crear la libreria equivocaron en el codigo de dicha funcion.

Lo que puedes hacer es buscar si hay una version de la DLL mas reciente, probablemente esa version ya haya solucionado ese problema...

Bueno esto lo descubrí porque yo estoy creando una DLL desde cero y cuando mi funcion no la programe correctamente me genero el mismo error al tratar usarla.

Saludos.

[URL="http://www.directoriocentral.com"]http://www.directoriocentral.com[/URL]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:53.