cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
6 août 2006 à 22:14
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
7 août 2006 à 23:45
Bonjour;
Bon, je veux apprendre plus sur le fonctionnement du CLR.
Je sais que quand on exécute un programme fait en .net, une partie de l'executable (qui est au format PE) s'occupe de 'hoster' le CLR et de lui transférer le contrôle ensuite.
J'ai aussi entendu dire que le CLR était un serveur COM.
C'est assez mélangeant et la seule manière de m'y retrouver est de revenir aux bases.
Je connais un peu C++ (ça va vite me revenir quand je serais dessus) et je voudrais m'initier à la programmation COM.
Malheuresement, sur Internet, je ne trouve pas de documents. Sur Amazon, des livres complexes mais pas d'introduction.
Alors, je viens ici pour vous demander des références et une liste d'étapes que je devrais idéalement suivre pour améliorer ma connaissance de la plateforme .net.
Mon but idéalement est d'être en mesure d'hoster moi-même une assembly (.exe ou .dll)
Merci les gars
[:D] @++
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 7 août 2006 à 11:39
Pour ce qui est de charger le CLR ça se passe avec CorBindToRuntimeEx ( mscoree.dll ).
Quand tu parles de t'initer à COM c'est pour utiliser COM ou pour créer des composants COM ? Dans le premier cas c'est relativement simple, y a 2 ou 3 chose à savoir ( CoCreateInstance, QueryInterface, AddRef etc.. ). Par contre créer un serveur COM là c'est autre chose.. faut definir les interfaces dans unfichier MIDL etc.. je connais pas assez mais je crois qu'en C++ y a un framework ATL qui simplifie ( un peu ) tout ça.
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 7 août 2006 à 20:23
Merci Lutinore.
Étant donné que je veux juste avoir une idée de ce qu'est COM afin de mieux comprendre l'origine des technos d'aujourd'hui, leur utilisation me suffit.
Il y a plusieurs utilitaires qui viennent avec la plateforme .net qui s'occupe de convertir les objets COM en une assembly .net (comment il s'appellait deja -tlbimp ou qqch du genre).
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 7 août 2006 à 23:45
Oui tlbimp.exe, la classe TypeLibConverter et aximp.exe c'est exactement la même chose qu'avec Visual Studio quand tu rajoutes une référence COM à ton projet, à part que tu as quelques options comme, modifier le namespace ou générer le code C#.
Par contre pour certains composant COM qui n'ont pas de librairie de type il faut redefinir les interface s avec des attributs .NET.