none
VB 2005 et vba Excel RRS feed

  • Question

  • Bonjour,

     

    J'ai fait une DLL en vb2005 et lorsque j'essaie de l'appeler en vba sous excel 2003 ou 97 j'obtiens toujours l'erreur suivante :

    Erreur -2147024894 (80070002) "Le fichier ou l'assembly ou l'une de ces dépendance est introuvable"

    Pourtant j'ai rendu ma DLL visible par com. Je me demande s'il n'y a pas des problèmes dus aux différents héritages qui la compose...

    (j'ai mis comme référence dans le vba le fichier tlb de ma dll, et mis la dll dans l'assembly)

     

    Pour info, voici les références présentent dans ma DLL :

    CrystalReport

    XtraReports (DevExpress)

    Microsoft.VisualBasic.Compatibility

    System

    System.Data

    System.Design

    System.DirectoryServices

    System.Drawing

    System.Web

    System.Web.Services

    System.Windows.Forms

    System.Xml

     

    Quelqu'un peut m'éclairer la dessus ?

    mercredi 16 mai 2007 08:32

Toutes les réponses

  • J'ai le même problème...

    sauf que moi j'ai comme seules références:

    System

    System.Data

    System.Drawing

    System.Windows.Forms

    System.Xml

     

    La bonne nouvelle étant sans doute que ce n'est pas un problème en rapport avec CrystalReport...

    La mauvaise c'est qu'on est au moins deux à être dans cette solution... Quelqu'un? Help?

    lundi 30 juillet 2007 12:50
  • Les références en .NET produit un arbre de dépendances entre Assembly...

     

    Il faut absolument que la DLL .NET que vous appelez puissent avoir accès à TOUS LES ASSEMBLYS nécessaires par celle-ci et pas uniquement les références présente dans votre projet... (Les DLL dépendantes devant être dans le GAC ou le répertoire de votre DLL).

     

    Par exemple vous utilisez une référence à XtraReports, il faut penser que XtraReports à son tour nécessite d'autres DLL et ainsi de suite (qui appartiennent au Framework ou pas !)... Il faut donc vous assurer que toutes ces DLL soient bien présentent dans le répertoire de votre DLL ou dans le GAC...

     

    Pour pouvoir tracer ce genre de problème, soit vous avez accès à la propriété "LoaderException" ou "FusionLog" de l'exception levée qui vous donnera les informations nécessaires, soit vous utilisez l'utilitaire : FUSLOGVW.exe présent dans le SDK du Framework.

     

    Cordialement

    lundi 30 juillet 2007 14:07
    Modérateur