IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ALM Discussion :

Système de plug-in


Sujet :

ALM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 13
    Points
    13
    Par défaut Système de plug-in
    Bonjour

    Je suis actuellement en train de concevoir un programme (qui utilise Qt) qui doit gérer certains de ses composants par des plugins.


    Cependant j'aimerais que le programme principal ainsi que chaque plugin ait accès à une API de base (une dll contenant des contrôles de base. p.e : un outil de recherche, des boîtes de dialogue générales...)

    Donc en fait, certains composants de base seraient dans cette API, le programme chargeraient cette dll et tous les plugin chargerait aussi cette dll (en plus de Qt).

    C'est pas un peu trop lourd, les dll (l'API + Qt) vont se charger en mémoire plusieurs fois ?

    Sinon quelle est la meilleure façon de gérer un système de plugins où chacun des plugins à besoin de certains composants "de base" ?

    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Une dll n'est chargée qu'une seule fois dans l'espace d'adressage d'un processus donc si elle est déjà chargée une fois alors toute tentative de la recharger n'a aucun effet (l'os sait qu'elle est déjà chargée alors il ne fait rien)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    Ok merci, donc d'un point de vue mémoire, c'est bon, mais quid d'un point de vue conceptuel ?

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    D'un point de vue conception qu'est-ce qui ne va pas ? Cela ne pose pas de problème à priori de faire hériter une classe appartenant à une dll x provenant d'une dll y.

    Le mieux serait que tu modélises cela avec un diagramme de composants ou de package pour mieux visualiser les éventuels problèmes

Discussions similaires

  1. Gérer un système de plug-in dans un programme
    Par alainbb dans le forum Modules
    Réponses: 1
    Dernier message: 24/03/2013, 19h56
  2. Réponses: 14
    Dernier message: 23/10/2012, 10h14
  3. Système de Plug-In
    Par rambc dans le forum Général Python
    Réponses: 5
    Dernier message: 23/10/2010, 15h10
  4. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  5. IA avec le système de note
    Par scorpiwolf dans le forum C
    Réponses: 4
    Dernier message: 06/05/2002, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo