juin
2007
Si la question est : « Peut-on passer des paramètres au constructeur d’un objet COM qui fait le wrapper d’une classe managée ? » La réponse est non ! Alors, comment faire par exemple si je veux utiliser la classe System::IO::StreamReader (par exemple) depuis mon programme natif ?
juin
2007
Pour continuer avec COM Interop, je vais vous montrer comment passer des paramètres à une méthode. soit la classe CLI suivante :
juin
2007
Il peut être parfois utile de pouvoir appeler du code managé depuis un programme complétement natif. Pour cela, plusieurs solutions dont une assez pratique à mettre en oeuvre : COM INTEROP. On utilise CCW (COM Callable Wrappers) qui est un mécanisme de .Net pour permettre à un client COM d’accéder à des objets managés à travers un proxy COM qui encapsule l’assembly managée. On peut voir ca comme un mécanisme de génération automatique de wrapper […]
juin
2007
De la même facon qu’on peut s’abonner à des événements managés depuis une classe C++/CLI (voir dans la faq C++/CLI), il est possible de s’abonner à des événements CLI depuis une classe native. Pour ce faire, nous avons besoin d’utiliser un des templates gcroot ou auto_gcroot et d’une macro un peu particulière : MAKE_DELEGATE
juin
2007
Beaucoup de bibliothèques C utilisent des structures pour regrouper des données sémantiquement. Nous allons voir ici comment réutiliser des structures d’une bibliothèque C en C# avec DllImport. Tout d’abord, créons une bibliothèque C : (nouveau projet WIN32, application type dll, empty project). Créons un nouveau fichier .cpp et créons une structure simple : typedef struct { int telfixe; int telPort; } MASTRUCTURETEL;
juin
2007
Suite à mon billet d’interopérabilité pour marshaller des structures natives, on va compliquer un peu la structure pour voir différents scénarios d’interopérabilité. Prenons les structures suivantes : typedef struct { int telfixe; int telPort; } MASTRUCTURETEL; typedef struct { int monAge; int maTaille; char *nom; MASTRUCTURETEL structTel; wchar_t *prenom; } MASTRUCTURE; On a donc une structure qui contient des entiers, […]
juin
2007
Nous avons vu dans les précédents billets comment récupérer une strucuture native dans du code C#. Maintenant nous allons voir comment utiliser une dll pour mettre à jour une structure native préalablement construite en C#. Soit la structure C suivante :
juin
2007
En C, on manipule beaucoup de tableaux. Comment intéropérer des tableaux entre une bibliothèque C et un programme C#. Imaginons que j’ai une dll C qui ait des méthodes de tri de tableaux, et particulièrement une méthode qui me trie un tableau d’entier. J’ai un programme C# qui (ô hasard) utilise un tableau d’entier et (comble de malchance) je ne connais pas la méthode Sort de la classe Array du framework Dotnet. Je vais donc […]
Commentaires récents
- [Tests] Arrange Act Assert, une traduction ? dans
- [UnitTest][C#] Tester une méthode privée dans
- Récupérer une valeur d’un contrôle depuis une autre Form / inclusions croisées et déclaration anticipée dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
Archives
- janvier 2013
- avril 2012
- janvier 2012
- juin 2011
- janvier 2011
- décembre 2010
- novembre 2010
- septembre 2010
- juin 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- mai 2009
- avril 2009
- mars 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007