PLUGIN PROGRAMME EXTENSIBLE GRÂCE AUX MODULES

nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 9 juin 2006 à 13:29
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 - 23 nov. 2007 à 17:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38013-plugin-programme-extensible-grace-aux-modules

cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
23 nov. 2007 à 17:23
J'ai utilisé les attributs pour stocker ces infos.
Check les fichiers AssemblyInfo.cs pour voir comment les attributs sont utilisés.
Pour la récupération de ces info, le code est dans AssemblyLoader.cs

Bonne chance.
cs_pdl Messages postés 134 Date d'inscription mardi 20 novembre 2001 Statut Membre Dernière intervention 16 juin 2008
23 nov. 2007 à 10:55
Bonjour,

Source très intéressante et qui va dans le sens de ce que je suis occupé de réaliser. J'ai tout de même deux question.

1. Je ne comprends pas, ou ne vois pas où tu définis les informations de chaque module ? J'ai créé un module ToolsMenuItem et je sais pas comment je peux spécifier l'auteur, la description, le language et et le nom. Comment fais-tu pour sauver ces informations dans l'Assembly ?

2. Si je souhaite récupérer de l'information présente dans le module mainForm, ou dans une autre DLL chargée comment est-ce que je peux faire ? Je pose cette question, car j'ai dans l'idée de rendre mon développement très modulaire, c'est à dire un projet (dll) par fonctionnalité, mais je vais certainement très vite avoir besoin d'info se trouvant éventuellement dans une autre dll et donc toute la question se pose de savoir comment récupérer celle-ci.

D'avance un grand merci,

Pierre
cs_Zeroc00l Messages postés 367 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 11 février 2010
6 sept. 2007 à 02:00
Elle est ou la fonction Unload pour decharger une dll,
la changer pendant que le rpogramme tourne,
et la recharger :p ?
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
9 juin 2006 à 22:39
Non, c'est pas une simple coincidence. simplement le fait qu'il n'y a pas mille moyen de charger une assembly et d'instancier un type en .net mais bien une seule manière.
1 - charger l'assembly (Assembly.LoadFrom)
2 - récupérer tout les types et chercher celui qui implémente la bonne interface
3 - invoker la méthode d'installation
Pour le errorMessage, il est généralement à l'intérieur d'un bloc try catch afin de fournir une explication claire (et en français parce que j'ai .net 2.0 en anglais chez moi).
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
9 juin 2006 à 13:29
Bravo pour ta source que je trouve superbe, bien que j'aurais plutôt utilisé des exceptions à la place de ta variable "errorMessage".

En fait, j'ai trouvé une source assez ressemblante sur ce thème sur http://www.c2i.fr/, qui utilisait la même methode que toi. Simple coincidence ?