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 :

[DLL] -> Retarder le chargement ?


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Par défaut [DLL] -> Retarder le chargement ?
    Salut,
    J'utilise une DLL dans un programme, je voulais savoir si il était possible de retarder le chargement de celle-ci ?
    Etant donné qu'elle est embarquée dans ses ressources, il l'extrait si elle n'est pas présente sur le PC et après la charge, cependant, actuellement si elle n'est pas présente, le programme ne se lance pas...
    Avez-vous une solution ?
    Merci d'avance,
    MaTHieU_

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 38
    Par défaut
    Crée une dll dinamique que tu charges quand tu en as besoin avec la commande LoadLibrary ou en utilisant la caractéristique du chargement retardé (delay load feature).
    Je n'ai jamais utilisé la dernière option.

  3. #3
    Membre éclairé

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Par défaut yop
    Salut,
    C'est une DLL déjà existante que j'utilise, je vais regarder ça alors !
    Merci
    MaTHieU_

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 38
    Par défaut
    Voici la déclaration de la DLL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
    {
      try
      {
        if (reason == DLL_PROCESS_ATTACH) {
          CoInitFlags = COINIT_MULTITHREADED;
          Application->Initialize();
          Application->CreateForm(__classid(TDataModule1), &DataModule1);
             Application->Run();
        }
      }
      catch (Exception &exception)
      {
      }
      return 1;
    }
    Tu devrais aussi avoir un bout de code ressemblant à ceci dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (dllHandle == NULL)
     {
        dllHandle = LoadLibrary("DBConnect.dll");
        if (dllHandle)
        {
            WebDataModule3()->DBConnect = (GETDBTRANSACTION)GetProcAddress(dllHandle,
                                                                           "_GetDBTransaction");
            DataModuleLangue()->KillDBConnect = (GETDBTRANSACTION)GetProcAddress(dllHandle,
                                                                                 "_KillDBConnect");
            WebDataModule3()->DBConnect();  // To instanciate the objects.
        }
     }

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

Discussions similaires

  1. Création DLL Visual Studio 2008 : Chargement impossible
    Par Bleys dans le forum Visual Studio
    Réponses: 0
    Dernier message: 07/08/2008, 11h03
  2. [BP7] Problème chargement de ressource dans une DLL
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 26/07/2003, 21h36
  3. Dll a chargement dynamique
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 05/06/2003, 22h47
  4. [Débutant][JNI]Erreur de chargement de dll
    Par Agifem dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 24/04/2003, 14h36
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/12/2002, 18h25

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