Vings a écrit :
Les valeurs modifiées par le prog en C++ sont transmises par une fonction de la dll.
|
J'imagine que tu dois écrire un truc dans ce genre :
Code :
- int maVariableATransmettre = 3;
- MaFonctionDll(maVariableATransmettre);
|
Si c'est le cas, alors c'est normal, car tu transmets une copie de ta variable, et pas ta variable elle même.
La solution aurait été de transmettre un pointeur vers ta variable à la dll, lequel pointeur sera transmis au programme C#, mais ça ne fonctionnera pas non plus, car l'espace mémoire qui contient ta variable est propre à ton processus C++, et il ne peut pas être écrit par un autre processus (celui en C# en l'occurence).
Donc oublie l'idée de communiquer par dll, c'est très complexe à mettre en oeuvre. La sérialisation consiste, en simplifiant, à transformer un objet en fichier. Ce fichier pourra ensuite être désérialisé par n'importe quel programme qui pourra le modifier et le sérialiser à nouveau.
Message édité par Harkonnen le 14-05-2009 à 18:29:55
---------------
J'ai un string dans l'array (Paris Hilton)