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

Delphi Discussion :

Intercepter DLL manquante


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut Intercepter DLL manquante
    Bonjour,

    avant de poser ma question, un grand MERCI à tous ceux qui ont répondus aux question soulevées ici et dont les explications m'ont déjà été fort instructives par le passé ...

    Mon problème est aujourd'hui le suivant :

    j'ai developpé une partie d'application qui nécessite qui fait le lien vers une base de données externe. Les appels à cette DLL sont écrits de la manière suivante :

    function Connection_Ext(fichier:String; mode:Integer; retour:Integer):Integer;stdcall;external 'maDll.dll';

    Cette partie d'application doit être liée à un menu général qui contient plusieurs autres fonctions qui n'ont pas besoin de cette DLL. A l'exécution tout se passe bien si j'ai, au préalable, installé cette DLL (à partir d'un autre logiciel que le mien) mais il ne fonctionne plus chez un client qui n'a pas cet autre logiciel (donc la DLL).

    Comment faire pour intercepter cette erreur qui apparaît au lancement de l'application avant même que la fiche menu ne soit auto-créée ? Aujourd'hui je me vois condamné à proposer deux versions de mon logiciel ... pas très pratique, hélas !

    Je précise que j'ai essayé de monter ma DLL par un pointeur sur son Handle, et là cela fonctionne très bien, mais ... (snif) ... je n'arrive plus alors à faire l'appel correct aux fonctions de cette DLL.

    Merci d'avance de vos réponses,
    A+

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Vous utiliser un chargment implicite de la DLL. Du coup le programme se charge de tout.

    Si vous pouvez fair un charment explicite, Vous devrez charger manuellment la DLL. Mais vous pouvez fair un try exept lors de se chargement.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    Hello et merci de ta réponse,

    j'avais bien essayé avec ta solution mais lorsque je faisais appel à la DLL cela ne fonctionnait plus (en chargeant bien sur au préalable l'adresse de la fonction souhaitée). Contact pris à l'époque, il fallait utiliser le mot clef external dans la déclaration et là, on reste dans l'implicite.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Regarder les exemples a l'adresse http://www.developpez.com/delphi/faq/?page=systemedll

    La rubrique exacte est "Comment appeler une fonction dans une DLL ?"

    La fonction "procedure ChargerEtAppelerSomme;" vous indique comment charger la DLL (0 si Dll non trouver) et comment charger les fonction dans la dll (si non trouver nil ou erreur ?)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    Bonjour,

    merci pour le lien. Je vais aller voir cela et refaire un essai dans ce sens.

    A+

Discussions similaires

  1. dll manquantes
    Par bourdon dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 10/02/2006, 19h13
  2. mfc80d.dll manquant?
    Par tidanone dans le forum MFC
    Réponses: 10
    Dernier message: 22/01/2006, 19h07
  3. DLL manquante Access
    Par titepuce44 dans le forum Access
    Réponses: 6
    Dernier message: 04/01/2006, 10h59
  4. msjava.dll manquante
    Par xave dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 01/12/2005, 10h41
  5. dll manquante ???
    Par BainE dans le forum MFC
    Réponses: 3
    Dernier message: 19/05/2005, 11h14

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