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

Free Pascal Discussion :

Tester l’existence d’une DLL


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Par défaut Tester l’existence d’une DLL
    Bonjours

    J’aimerais bien savoir comment programmer une condition si Mydll.DLL existe ou pas!

    C'est-à-dire si Mydll.DLL n’existe pas ne passe pas par la fonction GEM mais par la fonction EMO

    Voici un petit example :
    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
    17
    18
    19
    20
    21
    22
     
    function GetNo; stdcall; external ‘Mydll.DLL‘;
    function GEM: string;
    begin
    ..utilise Mydll.dll … 
    ..
    end;
     
    function EMO: string;
    begin
    …utilise pas Mydll.dll 
    end;
     
     
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     
    if  Mydll.DLL -> existe then edit1.text := GEM
    else edit1.text :=  EMO;
     
    end;
    Merci beaucoup pour vos aides
    Salutation
    Ardely

  2. #2
    Membre éprouvé Avatar de Modulpro
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Bonjour,

    Tu peux trouver dans la FAQ comment tester l'existence d'un fichier. Cette méthode doit pouvoir convenir pour les dll.

    Cordialement

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Par défaut
    Salut,

    Je passe deja des heures à cherche une solution merci pour ta réponse et le lien, je vais tester...

    Salutation

  4. #4
    Membre éprouvé Avatar de Modulpro
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Bonjour,

    En relisant le code de la faq, je me suis rendu compte qu'il faudrait changer le nom de la variable locale Result : boolean, le mot "result" étant réservé par FPC pour renvoyer le résultat de la fonction.

    Bonne continuation.

  5. #5
    Membre éclairé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Par défaut
    tu fais comme si ta dll était un fichier texte. Puis tu le teste en lecture avec restet, et tu attrape les erreurs :

    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
    program TesteDll;
     
    uses crt;
     
    function isDLL(Nom : string) : boolean;var f:text; begin
      assign(f, Nom);
      {$I-}
      reset(f);
      {$I+}
      if ioresult<> 0 then isDLL := false else isDLL := true;
    end;
     
    begin
      if isDLL then writeln('La DLL existe ! ');
    end.

  6. #6
    Membre éprouvé Avatar de Modulpro
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Salut titeeee,

    Tu as oublié de passer un paramètre à la fonction dans ton code.
    De plus, la ligneif ioresult<> 0 then isDLL := false else isDLL := true; peut être remplacée par isDLL := (ioresult = 0); ou encore par Result := (ioresult = 0);.
    Enfin pourquoi déclarer une variable de type Text alors que le type File permet de manipuler tous les fichiers ?

Discussions similaires

  1. [XML] Tester l’existence d'un attribut
    Par koyot3 dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/09/2011, 10h05
  2. Tester l’existence d’une application
    Par louay02 dans le forum Débuter
    Réponses: 3
    Dernier message: 31/05/2011, 15h41
  3. Variable interne d’une dll
    Par EV-LINK dans le forum C++/CLI
    Réponses: 9
    Dernier message: 17/07/2008, 22h13
  4. Tester si ma DLL a l'atribut ComVisibl(true)
    Par bossun dans le forum C#
    Réponses: 1
    Dernier message: 19/05/2008, 11h21
  5. [THREAD MFC] tester lexistence
    Par Tigris94 dans le forum MFC
    Réponses: 12
    Dernier message: 17/11/2004, 11h49

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