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 :

[DLL][CRC32] Impossible de calculer le CRC32 si la DLL est chargée


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Points : 85
    Points
    85
    Par défaut [DLL][CRC32] Impossible de calculer le CRC32 si la DLL est chargée
    Bonjour,

    Je découvre avec plaisir l'utilisation de certains de mes modules sous forme de DLL.

    Dans mon cas précis, j'ai un composant sous forme de DLL dont j'ai besoin de vérifier l'intégrité avec le CRC32.
    Je suis capable de vérifier le CRC32 et de charger mon DLL, le problème est que vérifier le CRC32 d'une DLL chargée donne l'inévitable :

    Impossible d'ouvrir le fichier " *.dll ". Le processus ne peut accéder au fichier car ce fichier est utilisé par un autre processus.
    il me faudrait donc ne pas charger ma DLL pour la vérifier avant. Je débute à peine dans ce domaine, et ma DLL est chargée en même temps que l'application...

    Une aide ou un lien qui pourraient me mettre sur la bonne piste ??

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Je suppose que tu essayes de l'ouvrir par AssignFile qui est par défaut en lecture/écriture. Après AssignFile, ajoute FileMode (2 par défaut).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AssignFile(f, 'library.dll');
    FileMode := 0;  //Lecture seulement
    ...
    Ou alors tu passes par un TFileStream avec fmOpenRead.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    évite les liens avec external pour linker une dll, préfère lui un LoadLibrary\GetProcAdress ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Points : 85
    Points
    85
    Par défaut
    Quel malpoli !

    J'ai oublié de te remercier !!

    Effectivement avec cette méthode (j'ai cherché tes termes avec google qui m'ont menés à mon point de départ : http://delphi.developpez.com/... ) je vérifie l'existence, calcule le crc32 puis charge ma dll et la fonction dont j'ai besoin, le bonheur ^^

    Merci encore !

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

Discussions similaires

  1. Calcul du CRC32 en vb
    Par christouilhe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/01/2014, 15h17
  2. CRC32, Question de calcul
    Par Array dans le forum Mathématiques
    Réponses: 11
    Dernier message: 24/11/2013, 02h01
  3. Calculer un CRC32 type ethernet
    Par geek-59600 dans le forum C
    Réponses: 2
    Dernier message: 27/01/2012, 09h17
  4. Calculer le CRC32 d'une chaine de caractère
    Par bumbolol dans le forum Caml
    Réponses: 11
    Dernier message: 11/04/2010, 13h31
  5. calcul du crc32
    Par lesultan2007 dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/03/2009, 11h00

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