dodo7263
Messages postés616Date d'inscriptionmercredi 10 septembre 2008StatutMembreDernière intervention 9 février 2017
-
16 sept. 2016 à 15:47
dodo7263
Messages postés616Date d'inscriptionmercredi 10 septembre 2008StatutMembreDernière intervention 9 février 2017
-
19 sept. 2016 à 16:01
Bonjour à tous,
Je vais essayer d'être le plus clair possible.
J'ai écris une DLL native qui contient 1 méthode effectuant tout un tas de calcul. jusque la tout va bien.
Notez les 2 références que je souhaite récupérer en C# !
J'ai donc rajouté un projet C++/CLI dans lequel je référence cette DLL native et je "wrapp" cette fonction dans une public ref class comme ceci :
Le fichier.h:
et enfin mon projet C# qui utilise cette DLL. Le tout fonctionne à peu près bien car je n'arrive pas à récupérer les 2 valeurs référencées en natif (&). J'ai essayé des choses avec des pointeurs, des tracking reference, etc...mais je crois que j'ai besoin d'un oeil extérieur maintenant. Les valeurs sont conservées jusqu'à la couche C++/CLI et au moment ou le programme retourne dans le C# les références sont perdues.
Auriez vous une piste ? une indication ? ou peut être je fais mal les choses avec mon code ?
Dites moi car la je dois dire que je suis à court d'idées.
Merci !
@pluche
A voir également:
Conserver une référence d'une dll c++ native jusqu'à couche C#
dodo7263
Messages postés616Date d'inscriptionmercredi 10 septembre 2008StatutMembreDernière intervention 9 février 20176 18 sept. 2016 à 15:23
Bonjour wishmeril,
Malheureusement j'ai bien essayé cela. Je sais que % est l'équivalent du & avec du ref en C#. Mais lorsque je fais cela j'ai toujours l'erreur suivante :
a simple (non tracking) reference cannot be bound to an entity on the managed heap.
Non je suis vraiment à cours d'idées. C'est un peu pour ça que je poste mon soucis.
Quand je ne met aucune référence, cela fonctionne parfaitement bien. mais dès lors que je veux récupérer ces 2 références c'est la que commence les problèmes. J'ai essayé en déclarant un pointeur dans la couche CLI vers ma classe native mais la j'ai un soucis de conversion de double en double*.