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 :

Lien DLL dans un répertoire spécifique


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut Lien DLL dans un répertoire spécifique
    Bonjour,

    J'utilise delphi 7 sous windowsXP.
    J'ai plusieurs applications developpées en delphi qui utilise des DLLs spécifiques
    Je voudrais regroupé mes DLL dans un repertoire et dire dans tous les fichiers compilés (.EXE) d'aller chercher les DLL dans ce répertoire
    (Par défaut il va chercher dans le répertoire courant et sous WINDOWS. Je ne veux pas les mettre sous C:\WINDOWS\ et de creer sous WINDOWS de variable d'environnement)

    Actuellement mon arborescence ressemble à ceci
    C:\repertoire\Application1\Appli1.exe
    C:\repertoire\Application1\Info.dll

    C:\repertoire\Application2\Appli2.exe
    C:\repertoire\Application2\Info.dll

    Je voudrais
    C:\repertoire\Application1\Appli1.exe
    C:\repertoire\Application2\Appli2.exe
    C:\repertoire\repertoireDLL\Info.dll


    Je pense que c'est une configuration de Delphi mais je ne sais pas OU.

    Si quelqu'un à une idéé, merci d'avance.
    Si cela n'est pas assez clair n'hesite pas à me le dire


    Dimdidi

  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
    le seul moyen est normalement d'enregistrer dans la base des registres ta dll.

    il faut que tu fasses la commande suivante dans l'"invite de commande" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    regsvr32.exe /i Chemin+Nom de la dll
    regsvr32.exe se trouve dans le répertoire system32 de windows
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    bonjour,

    tu peux aussi modifier la valeur du path du process au début de ton appli .EXE pour y ajouter le répertoire de tes DLL.

    @++
    Dany

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    il faut modifier la variable d'environnement PATH.
    Par exemple, on peut ajouter dans l'autoexec.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET PATH=%PATH%;C:\<mon repertoire DLL>
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    J'ai une question : Comment tu lies ta DLL ? est d'une manière statique, avec la directive external ? ou dynamiquement avec LoadLibrary ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Merci à tous de m'avoir répondu.

    J'explique plus clairement :
    Mon objectif, c'est de partagé des applis sur le reseau sans que chaque poste ai ces DLLs d'installé sur leur poste (pour des raisons des sécurités).
    Je veux que les postes puissent se connecter avec mes Apllis et par autrement. Donc pas de modification sur les postes (installation de variable d'envionnement) sinon acces avec d'autre applis.

    Les DLLs sont des DLLs Oracle donner par Oracle donc je n'ai pas accés au source qui permette de se connecter à Oracle sans installer un client oracle sur les postes.

    Malatar > regsvr32.exe /i Chemin+Nom de la dll
    Reviendrais à declarer une variable d'environnement.

    skywaukers > J'ai essayer de modifier le PATH dans EDI mais ca ne marchais pas, car l'utilise que pour la compilation.

    Graffito > Je ne veux pas installer de variable d'environnement sur les postes sinon les utilisateurs peuvent avoir acces avec n'importe quelle appli.

    Modjo > Pour l'instant je ne fais aucune action par defaut lorsque l'appli se charge à charge les donner du repertoire par defaut, et le PATH (c:\windows, etc.)
    Je ne connaissais pas la directive external ou LoadLibrary, je ne sais pas si ca charge n'importe qu'elle DLL donc je regarde

  7. #7
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Salut dimdidi,

    tu avais désactivé le BBCode (case à cocher sous l'éditeur de message), donc ton message apparaissait mal sur le forum.
    Bidouilleuse Delphi

  8. #8
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    OK, je n'avais pas remarquer

    Merci

Discussions similaires

  1. Enregistrement dans un répertoire spécifique
    Par marinef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/05/2009, 10h54
  2. Dll dans un répertoire différent de l'exe
    Par Captain_JS dans le forum C++
    Réponses: 15
    Dernier message: 30/09/2008, 11h31
  3. Upload dans un répertoire spécifique
    Par charliejo dans le forum Flash
    Réponses: 6
    Dernier message: 14/09/2007, 12h02
  4. [Vb.Net] Dll dans un répertoire différent
    Par Kiboumz dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/03/2007, 13h34

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