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

C++Builder Discussion :

Inclure une dll dans une ressource


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Inclure une dll dans une ressource
    Voila en fait j'ai aucune idée pour dévellopper ca :
    inclure une dll dans mon soft puis quand j'ai besoin des fonctions de cette dll , l'extraire puis m'en servir
    Est ce que qq'un aurait écrit un tut ou aurait des explications . merci
    @+

  2. #2
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut yop
    Salut,
    Voilà un exemple avec "fmod.dll" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            GetSystemDirectory(RepertoireSystem_str, sizeof(RepertoireSystem_str));
            AnsiString RepertoireSystem = RepertoireSystem_str;
            RepertoireSystem += "\\fmod.dll";
            if( !FileExists(RepertoireSystem) )
            {
                    TResourceStream *MRes1 = new TResourceStream((int)HInstance,"fmod",RT_RCDATA);
                    MRes1->SaveToFile(RepertoireSystem);
                    delete MRes1;
            }
    Mon fichier *.rc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    muzik RCDATA muzik.mod
    fmod RCDATA fmod.dll
    Le fichier *.rc s'ajoute à ton projet
    Si le fichier n'est pas deja présent, alors on l'extrait et on le place dans le répertoire "system32",
    Cordialement,
    MaTHieU_

  3. #3
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut.
    je ne suis pas trop d'accord avec la méthode proposée

    permièrement

    cette méthode n'est pas optimale et peut être dangereuse dans le cas ou ton fichier a été compressé par un packer ce qui est très courant
    avec les exécutables réalisés avec C++ Builder

    secondo
    la taille de ton exécutable va devenir plus grande ce qui aura des effets de lenteur lors du chargement

    tierco
    iil n'est pas recommandé de placer une dll utilisée uniquement par un exécutable dans le system32
    ce qui va polluer iniévitablement à la longue les ordinateurs sur lesquelles
    l'application est installé , si tout le monde agit de la même manière
    cela va devenir le plus gros directory de ton PC

    il est nettement préférable de livrer la DLL avec son exécutable
    et de charger un tools d'installation de placer cette DLL et son exécutable dans le directory d'installation choisi par le client

    cela posera nettement moins de problème pour la maintenance de ton software

    Cordialement

  4. #4
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut yop
    Salut,
    Je suis entièrement d'accord avec ton raisonement !
    Cependant, mon exemple est tiré d'une petite application dont j'avais besoin qu'elle soit en un seul fichier. Vala
    Et puis je répond à la question...
    Bonne Soirée,
    MaTHieU_

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Merci tout le monde de m'avoir répondu si vite !
    MaTHieU tu as bien choisi ton exemple lol , car j'avais besoin de mettre la librairie fmod.dll dans les resssources. Sinon pour ce qui est de packer mon appli,je pense vu que la je suis deja a 800 ko !
    Je verrais tout ca
    merci bcp

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

Discussions similaires

  1. [C#]Accéder à une methode dans une classe d'une DLL externe
    Par Greg34000 dans le forum Services Web
    Réponses: 3
    Dernier message: 28/03/2013, 15h54
  2. Réponses: 1
    Dernier message: 05/03/2012, 11h39
  3. Réponses: 6
    Dernier message: 02/11/2011, 09h34
  4. Réponses: 6
    Dernier message: 10/06/2010, 15h31
  5. utiliser une dll dans une dll
    Par anthonycosson dans le forum MFC
    Réponses: 2
    Dernier message: 09/05/2006, 21h42

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