ClassTiti
Messages postés3Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention17 mars 2006
-
17 mars 2006 à 10:16
ClassTiti
Messages postés3Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention17 mars 2006
-
17 mars 2006 à 11:06
Bonjour,
Après m'être renseigné sur les possibilités d'appel d'une dll à partir de C#, j'ai vu qu'il y avait plusieurs moyens pour appeler les fonctions.
Je voudrais savoir s'il est possible de faire une allocation dynamique d'une structure définie dans la dll et de l'utiliser dans le programme C# comme on l'utiliserait en C.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 17 mars 2006 à 10:56
Oui bien sûr, tu réécris la structure en t'inspirant du fichier header en C ( *.h ) et tu passe une instance de cette structure à ta fonction, avec le mot clé ref si ta fonction attend un pointeur sur la structure.
exemple :
POINT p = new POINT( );
p.x = 10,
p.y = 10;
DoSomething( ref p ); // passage par pointeur d'un type valeur au code natif.
ClassTiti
Messages postés3Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention17 mars 2006 17 mars 2006 à 10:47
En fait, je dois appeler des fonctions contenues dans la dll (ça j'ai vu comment on faisait) mais il faut que je passe en paramètre de ces fonctions une structure C qui est définie dans la dll mais que je dois au préalable instancié (allocation de la mémoire pour la structure).
Cela peut-il être fait avec ce que tu me proposes (réécrire la structure en code managé) ou autrement ?