Comment mettre une Liste chaine d'une dll dans un projet c#
kikoff
Messages postés10Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention 3 septembre 2004
-
4 août 2004 à 16:41
cs_ousta
Messages postés95Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention 2 juin 2007
-
4 août 2004 à 18:04
alors voila j'ai dans un dll un liste chaine du genre
typedef struct objet
{
struct shobj_obj *next; /* Objet suivant */
long idl; /* IDL de l'objet */
int numcla; /* Classe de l'objet */
SHOBJ_ATT *lstatt; /* Liste des attributs de l'objet */
} OBJET;
[StructLayout(LayoutKind.Sequential)]
public class ATT
{
[MarshalAs(UnmanagedType.LPStruct)]
public SHOBJ_ATT *next;
[MarshalAs(UnmanagedType.LPStr)]
public string nomcol;
[MarshalAs(UnmanagedType.LPStr)]
public string valcol;
}
[StructLayout(LayoutKind.Sequential)]
public class SHOBJ_OBJ
{
[MarshalAs(UnmanagedType.LPStruct)]
public SHOBJ_OBJ *next;
public int idl;
public int numcla;
[MarshalAs(UnmanagedType.LPStruct)]
public SHOBJ_ATT *shobj_att;
}
mais le compilmateur n'aime pas ça !
-> Pointers may only be used in an unsafe context
comment je peux marshaller un pointeur sur une structure ????
Merci pour votre aide ! ;-)
A voir également:
Comment mettre une Liste chaine d'une dll dans un projet c#
cs_ousta
Messages postés95Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention 2 juin 2007 4 août 2004 à 18:04
ta juste a le declarer tes pointeurs dans des blocks unsafe c'est comme ca quon les utilise en c# vu quil sont jugés unsafe ^^ meme si leur temps dacces est bien plus rapide qune string par exemple