Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

communication entre une DLL c++ et un assembly .NET

1 réponse
Avatar
Seb
bonjour,
je dois developper une dll en c++(cette dll sert a piloter une autre appli
qui ne peut charger que des dll). J'aimerai realiser les interfaces de mon
programme en .NET(VB).
Est il possible d'appeler des interfaces realiser en .NET depuis une dll? La
communication dans ce sens est elle fiable ou faut il monter une sorte
d'usine a gaz pour y arriver? Le chargement des differentes interfaces est
il rapide ou est ce que cela necessite le chargement du framework a chaque
ouverture de formulaire?

Merci de vos reponse

Seb

1 réponse

Avatar
Patrick Philippot
Bonjour,

Est il possible d'appeler des interfaces realiser en .NET depuis une
dll?



Oui, dans une mesure limitée.

http://www.excastle.com/blog/archive/2007/06/02/43091.aspx

Ou bien exposez ces composants .Net comme des composants COM via
Interop. Dans ce sens, les expériences sont toutefois limitées.

http://www.thescripts.com/forum/thread280381.html

La communication dans ce sens est elle fiable ou faut il monter
une sorte d'usine a gaz pour y arriver?



Personnellement, ce n'est pas une aventure que je tenterais. Il y a peu
d'expérience sur le sujet et Interop a surtout été prévu pour faciliter
l'utilisation du COM depuis .Net.

Mon objection principale est qu'Interop ou tout mécanisme de
communication entre code managé et non managé ne doit être utilisé qu'en
cas de force majeure. Quand par exemple, on doit utiliser un composant
appartenant à un des 2 mondes et qu'il n'est pas disponible dans
l'autre. Quand on est dans le monde non managé, on perd une bonne partie
de bénéfice de .Net. Si un accident survient d'un côté de la frontière,
l'autre côté ne reprendra jamais la main (via les exceptions par
exemple).

Donc à mon humble avis, se mettre volontairement dans ce genre de
situation n'est pas une excellente idée même si je suis persuadé que
vous pouvez obtenir certains résultats au prix de quelques contorsions.

Cordialement.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr