communication entre une DLL c++ et un assembly .NET
1 réponse
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?
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
Bonjour,
Est il possible d'appeler des interfaces realiser en .NET depuis une
dll?
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
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