Visual CSharp .NET - unsigned char* vs byte[]

 
Vista:

unsigned char* vs byte[]

Publicado por Josep (3 intervenciones) el 04/12/2006 18:00:49
Buenas,

estoy programando una aplicacion con C# en la que uso una libreria que me han pasado que esta programada en C.

El problema es que las estructuras de datos de la libreria de C son estos:

typedef struct{
float pin;
float sustr;
float adh;
char* codiError;
unsigned char * ImageM;
int alt;
int an;
}Datos;

y los que uso en C# son estos:

public struct Datos
{
public float pin;
public float sustr;
public float adh;
public string codiError;
public byte[] ImageM;
public int alt;
public int an;
}

Lo que nos pasa es que cuando llamo a la funcion implementada en C que devuelve la estructura anterior nos da error y claro no puedo debugar la dll al estar y compilada!!

Pero si comentamos la linea de "public byte[] ImageM;" y "public string codiError;" si que funciona.

Lo que creemos que puede ser, es el uso de char* en lugar de string y unsigned char en lugar de byte[]. Pero no sabemos como solucionar el error y esas dos variables las necesitamos para continuar.

Alguien nos puede ayudar a solucionar este error de cambio de estructuras de C a C#??

Gracias
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