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

MFC Discussion :

DLL classique - appel de DLL


Sujet :

MFC

  1. #1
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut DLL classique - appel de DLL
    bonjour,

    je commence tout juste à m'intéresser aux DLL (depuis ce matin ). j'ai 2 semaines pour boucler mon rapport de stage et pour compléter mon application 'Dialog Based' (ya quelques options à emporter).
    l'utilisateur doit pouvoir appeler la DLL dont il a besoin à partir d'une boîte de dialog style 'open file' (pour choper le nom de la DLL qu'il veut).
    ce que j'arrive à faire pour l'instant c'est :
    - écrire une DLL (yeah! encore heureux)
    - lié la DLL à mon prog via 'Project Settings > Link'
    - choper un fichier avec une boîte 'open file'
    le problème, c'est que vu comme ça je ne peux, je pense, appeler que la DLL du même nom que la LIB que j'ai nommé dans 'Link'.
    or ce qu'il faudrait que je puisse faire, c'est appeler lors de l'exécution la DLL que je veux (le maillon manquant à la résolution de mon problème).

    exemple d'application (juste pour donner une idée, mais ce n'est pas ce que je fais) : application multi-langage
    suivant la DLL que l'on charge, l'application sera en français (Francais.dll), en anglais (english.dll), en yuruba (yuruba.dll) ...
    ces DLL contenant les chaînes de caratères à afficher dans l'appli.

    si vous avez un bout de code, une explication simple pour débutant, en bref quelquechose qui pourrait m'aider, je vous remercie d'avance

    NOTE :
    - si j'ai bien compris, ce qui est le mieux pour moi ce sont les 'DLL classiques' (pas les DLL d'extension, vu que je n'ai pas besoin de les DLL n'intègre pas d'interface et que je veux que les DLL soit liées statiquement aux bibliothèques MFC).
    - j'ai fait une recherche sur le forum et sur Google, mais comme je ne sais pas exactement quoi chercher, ma recherche est restée infructueuse.

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    peut-être pas méga clair ske j'ai écris avant

    en fait je veux tout bonnement pouvoir choisir la DLL a utiliser en spécifiant, à l'exécution, le nom (la directory?) de la DLL.

    merci

  3. #3
    Membre actif Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Points : 203
    Points
    203
    Par défaut
    et tu peux importer automatiquement ta lib en fonction de la dll choisie dans la boite de dialogue?
    "La vie ne vaut rien, mais rien ne vaut la vie"

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    salut,

    ben justement je sais pas faire ça.
    je ne sais pas comment faire pour dire à l'exécution "voilà, j'ai choisi la DLL toto.dll à utiliser".

    tout ce que je sais faire pour l'instant, c'est importer la lib avant la compil avec le Project Settings. en faisant ça comme ça je suis restreint à utiliser des DLL de même nom. dans ce cas je mets la bonne DLL dans le répertoire de mon EXE et ça marche. mais ce n'est vraiment pas pratique et je ne peux pas faire ça. mon application étant destinée à faire partie d'un logiciel, je ne peux pas dire à l'utilisateur "bon ben va chercher la DLL que tu veux, mets la dans tel répertoire" . la meilleure solution est de passer par une boîte de dialogue 'openfile', ce qui permet à l'utilisateur d'aller choper la bonne DLL (qui a un nom quelconque, pas le même pour toutes les DLL).

    dur dur, vu que je viens à peine de m'attaquer à ça et qu'il me reste peu de temps.

    merci pour toute aide

  5. #5
    Membre actif Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Points : 203
    Points
    203
    Par défaut
    il faut peut etre que tu regarde du coté des flux de fichier, comment déplacer un fichier d'un répertoire à un autre
    "La vie ne vaut rien, mais rien ne vaut la vie"

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pour la lecture dynamique d'une dll il faut travailler avec LoadLibrary
    et GetProcAdress .
    il y a plein de post sur le forum par exemple:
    http://www.developpez.net/forums/vie...=getprocadress
    sinon MSDN.

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par lenouvo
    il faut peut etre que tu regarde du coté des flux de fichier, comment déplacer un fichier d'un répertoire à un autre
    non non, je ne veux pas déplacer les DLL. je veux pouvoir m'en servir à partir de leur emplacement.

  8. #8
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par farscape
    salut,
    pour la lecture dynamique d'une dll il faut travailler avec LoadLibrary
    et GetProcAdress .
    il y a plein de post sur le forum par exemple:
    http://www.developpez.net/forums/vie...=getprocadress
    sinon MSDN.
    merci! oui je pense que c'est ça. j'ai un bouquin sous les yeux qui explique un peu ça, mais je n'avais pas bien saisie. j'essaierais cet après-midi.

  9. #9
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    merci Farscape, ça marche nickel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler une Dll dans une autre Dll.
    Par cdumargu dans le forum C#
    Réponses: 1
    Dernier message: 07/02/2012, 13h13
  2. [VB6] Comment faire une dll classique ?
    Par doudoustephane dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 05/01/2006, 13h34
  3. Appel de dll
    Par david71 dans le forum WinDev
    Réponses: 3
    Dernier message: 08/12/2005, 14h58
  4. Appels fonctions DLL
    Par Micka91 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 17/02/2004, 17h32
  5. [VB6] [Langage] VB6 et les appels de dll
    Par Dave63 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/01/2003, 18h20

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