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

Langage Delphi Discussion :

Charger un DLL une seule fois (Win32)


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Charger un DLL une seule fois (Win32)
    Bonjour,

    J'ai fait une recherche à ce sujet sur le forum et je n'ai obtenu de réponse qui me convienne. Mon problème est peut-être un peu particulier.

    Mon application exécute de nombreuses requêtes sur une base DB2. Ces requêtes sont dynamiques (non paramétrées) en utilisant un TQuery, avec les méthodes Open, ExecSQL et Close (pour libérer la mémoire).
    J'ai pu remarquer qu'à chaque appel de Open ou ExecSQL le module DB2CLI.DLL est chargé et lorsque que Close est appelé, ce module est déchargé : c'est ce qu'il ressort du journal d'évènements dans Delphi. Or je pense que ces chargements/déchargements à chaque requête — il y en a très souvent dans mes traitements — ralentissent considérablement l'exécution de mon application (pire encore en mode débug).

    Ma question : peut-on faire en sorte dans Delphi pour que le module DB2CLI.DLL soit chargé une seule fois au démarrage de l'application et naturellement déchargé à sa fermeture ? Si oui, comment faire ?

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Utilises tu un Tdatabase ?
    ou bien tes requetes sont toutes configurées sur l'alias directement ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Salut Rayek
    Merci pour ta réponse
    J'utilise effectivement un TDatabase (configuré avec un alias ODBC)
    Tous mes TQuery (qui sont créés dynamiquement en fonction des besoins du programme) sont rattaché au TDatabase

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par adrien_as Voir le message
    Salut Rayek
    Merci pour ta réponse
    J'utilise effectivement un TDatabase (configuré avec un alias ODBC)
    Tous mes TQuery (qui sont créés dynamiquement en fonction des besoins du programme) sont rattaché au TDatabase
    Etrange, normalement le Tdatabase est fait exprès pour éviter ce problème.
    Es tu sûr que la configuration est correcte ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    En fait, il fallait simplement mettre la propriété KeepConnection à True du TDatabase (qui est la valeur par défaut d'ailleurs....)
    Tu m'avais mis sur la voie en parlant du TDatabase
    Merci encore

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

Discussions similaires

  1. Charger les données une seule fois ou dans chaque session.
    Par archer dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 28/10/2010, 12h18
  2. [Integration] Charger le contexte une seule fois lors d'un test unitaire
    Par Kelem dans le forum Spring
    Réponses: 0
    Dernier message: 18/08/2009, 19h35
  3. charger une pilote une seule fois
    Par Bba_M dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 01/12/2006, 04h57
  4. [DLL] Ma DLL execute le Timer une seul fois !
    Par TOTO32 dans le forum Langage
    Réponses: 14
    Dernier message: 13/08/2005, 20h37
  5. Réponses: 18
    Dernier message: 10/02/2005, 13h22

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