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

VB.NET Discussion :

Erreur lors de l'ajout d'une Dll [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 142
    Points : 68
    Points
    68
    Par défaut Erreur lors de l'ajout d'une Dll
    Bonjour,
    Je cherche a ajoutée une dll mais ca m'affiche un message d'erreur,pour l'ajout je fait un click droit sur references qui ce trouve dans la fenetre explorateur de solutions puis je click sur ajouter une reference apres je click sur parcourir et enfin je choisi ma dll ,mais quand je click sur OK il m'affiche ce message :
    Une référence a 'C:\Inetpub\wwwroot\ProjetWeb\bin\MaDll32.dll' n'a pas pu etre ajoutee, il ne s'agit pas d'un assembly valide ou d'un composant COM.seuls les assemblys avec l'extension 'dll' et les composants COM peuvent etre references.Assurez-vous que le fichier est accessible et qu'il s'agit d'un assembly valide ou d'un composant COM
    est ce que quelqu'un a une aide sur la cause de ce probleme ?
    Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Avez vous les sources de la Dll, parce que le message d'erreur me fait penser qu'elle est mal compilée, sinon c'est qu'elle n'est pas compatible.

    Cordialement.

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 142
    Points : 68
    Points
    68
    Par défaut
    A l'instant je n'est pas la source de la dll mais je peut l'avoir ,sinon tu veux dire quoi par pas compatible ?
    PS:j'utilise cet dll dans un autre projet VBA (Access )

  4. #4
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut dll,composant com non valide
    bonjour ahmedige
    Si c'est une production personnelle ou un source que tu peux recompilier genre vb6
    Recompile-la comme projet dllActivex (composant com).
    Tu peux la referencer à ce moment la.

    Si c'est une dll que tu utilise en vba avec Declare ,c'est dll win32 .
    Tu ne peux pas la referencer .
    Il faut utiliser en vb.net l'equivalent c'est a dirE ImportDll.
    Un bout de code VBA en access peut eclairer nos lanternes.
    bon code.....

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 142
    Points : 68
    Points
    68
    Par défaut
    Oui c'est une dll que j'utilise en vba avec Declare ,aussi win32.
    En vba je declare une fonction comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Declare Function fct_A Lib "MaDll32.dll" (ByVal url As String) As Boolean
    donc d'apres ce que tu ma ecrit je ne peut pas l'ajouté,mais qu'est ce que voulez-vous dire par :utiliser en vb.net l'equivalent c'est a dirE ImportDll.
    est ce que je doit modifier le code de la dll ou quoi ?

  6. #6
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut declare ancienne version,dllimport nouvelle version
    bonjour ahmedige
    Eh bien bien tu peux toujours utiliser l'ancienne version de declar,qouoique deconseille et remplace par dllimport.
    DllImport avec ses attibuts de type est plus puissant
    Pour toi voici le code(ancienne version declare et dllimport):
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Imports System
    Imports System.Runtime.InteropServices
    Public Module Module1
        'Use DllImport to import win32 Message function.
        'le "NOUVEAU DECLARE" en VB.NET 
        'entre crochet c'est un attributt en vb.net
        'la "function" doit se terminer par un "end function".
        'la "sub" doit se terminer par un "end sub". ' 
     
        <DllImport("MaDll32.dll", CharSet:=CharSet.Auto)> _
        Public Function fct_AversionImport(ByVal url As String) As Boolean
        End Function
     
        'l "ANCIEN DECLARE"  est toujour utilisable en VB.NET mais deconseille
        Public Declare Function fct_A Lib "MaDll32.dll" (ByVal url As String) As Boolean
    End Module
     
    'code du Form qui appelle
    'Form & module sont bien sur  dans le meme projet 
    'le fichier ("MaDll32.dll"  doit etre(comme en vb6 ou vba) copie dans le repertoire d'application 
    'et en mode deboguage copie dans le repertoire bin\debug du Projet Win Form 
    Public Class Form2
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            ' Call fct_A function using old version Declare vb6.
            If fct_A("bonjour vb.net") Then
     
            End If
            ' Call fct_AversionImport function using platform invoke(P/INVOKE en abrege).
            If fct_AversionImport("bonjour vb.net") Then
     
            End If
     
        End Sub
    End Class
    BONNE SOIREE...

  7. #7
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 142
    Points : 68
    Points
    68
    Par défaut
    Bonjour MABROUKI,
    j'ai cette erreur quand je deboug:
    System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
    dans la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If fct_AversionImport("bonjour vb.net") Then
    Je croit que l'import ne fonction pas, est ce que je doit donner le chemin absolu de la dll ?

  8. #8
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 142
    Points : 68
    Points
    68
    Par défaut
    Probleme resolu
    problem de parametre : Byref a la place de ByVal.

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

Discussions similaires

  1. Assembly non valide lors de l'ajout d'une dll
    Par soso78 dans le forum VB.NET
    Réponses: 8
    Dernier message: 11/04/2008, 14h43
  2. Erreur lors de l'ajout dans une table
    Par k_boy dans le forum Bases de données
    Réponses: 14
    Dernier message: 31/03/2008, 15h05
  3. Erreur lors de l'ajout d'une référence web
    Par Pilloutou dans le forum Visual Studio
    Réponses: 2
    Dernier message: 12/02/2007, 15h11
  4. Erreur lors de l'appel d'une DLL créée avec Visual
    Par WELCOMSMAIL dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/09/2006, 15h53
  5. Erreur lors de l'ajout d'une table
    Par FredMines dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/07/2005, 13h13

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