Message d'erreur lors du chargement de la Dll

Résolu
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011 - 10 avril 2006 à 16:00
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011 - 13 avril 2006 à 13:11
Bonjour,

en VB

J'ai appris à créer une dll avec un petit exemple trouvé sur ce site. Merci à (aux) l'auteur(s) qui ont su partager des exemples simples.

J'ai compilé ma Dll (une fonction : Msgbox ). J'ai ouvert un autre projet, et j'ai voulu charger la dll avec le menu Outils -> Références -> Parcourir.

Et là, il charge, mais quand je ferme la fenêtre, un message apparaît :

"Nom de module, de projet ou de bibliothèque d'objets déjà utilisé"

Les noms de modules sont uniques, ceux des fonctions aussi. Les feuilles portent des noms différents. Bref, c'est le pot au noir.

D'où cela peut-il venir ? Quelqu'un aurait une idée ?

A préciser : j'ai tenté en enregistrant d'abord la Dll, et sans l'enregistrer : c'est pareil. Je me suis dis qu'elle restait en mémoire, j'ai donc fait un reset du PC et c'est encore une fois la même erreur...

Merci de votre aide.

9 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
12 avril 2006 à 22:02
Salut 597358 whombat, Salut =401740 PCPT (ça faisait longtemps, vas-tu?),

597358 whombat,
d'abord, = 401740 PCPT a raison, " (types
ensuite, en lisant ton dernier message, j'ai compris que ta référence n'est pas disponible dans la liste des références. Il n'y a pas énormément d'explications à cela.

As-tu 2 projets séparés (2 instances de VB), ou un groupe de projet contenant les 2 projets (2 projets = 1 projet DLLet un projet utilisateur de la DLL)?

Si c'est un groupe de projets, il est possible que, dans la liste des références du projet utilisateur, figure, non pas le nom de la DLL (ou du serveur de classe), mais le nom du projet DLL (VB l'y aurait mis automatiquement?), et tu ne peux pas exécuter les 2 projets en même temps. Passes donc en mode 2 projets séparés.

Si ce sont 2 projets séparés :
1./ Fermes le projet utilisateur
2./ Compiles la DLL
3./ Registres la DLL
4./ Mets le projet DLL en exécution (en prenant soin de paramétrer le démarrage sur "attendre la création du composant").
5./ Ouvres le projet utilisateur.
6./ Vas dans la liste des références pour cocher le projet DLL (ou la DLL, à ce niveau, il ne doit y en avoir qu'un, et VB s'occupe de savoir quel est le bon)
7./ Mets en exécution le projet utilisateur.

Dis nous ce que cela donne,

PS: dans ton message tu disais "J'ai compilé ma Dll (une fonction : Msgbox )", peux-tu expliquer ce que tu voulais dire? Le seul MsgBox que je vois, c'est celui que =401740 PCPT a pensé à mettre pour afficher le résultat.
à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
3
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
11 avril 2006 à 01:47
Re Bonjour,

Voilà mon module de classe (avec cela j'ai un module bas avec juste un sub Main)

VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "Test4Class"
Attribute VB_Creatable = True
Attribute VB_Exposed = True

Public Function DonnezMoiLHeure(ByVal LeTxt As String) As String

Dim LaDate As Date, DateConvert As String

LaDate = LeTxt
LaDate = LaDate + 25
DateConvert = Str(LaDate)

DonnezMoiLHeure = DateConvert

End Function

Je voulais juste voir si ça marchait... Pas gagné...
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 avril 2006 à 11:52
salut,

je teste en direct :



dans un dossier, je crée un nouveau fichier txt dans lequel je copie ton code ci-dessus.

renommage en Test4Class.cls et double-click.

je bascule le projet en exe standart, ajout d'une Form1, mise en objet de démarrage.




Option Explicit

Private cTest As New Test4Class

'

'

Private Sub Form_Load()

MsgBox cTest.DonnezMoiLHeure(Format$(Now, "DD/MM/YY"))

Unload Me

End Sub



Private Sub Form_Unload(Cancel As Integer)

Set cTest = Nothing

End Sub




<small> Coloration
syntaxique automatique [AFCK]</small>











ta fonction est mal faite (types) mais çà fonctionne.

vérifie les noms de fichiers et de fonctions, ainsi que dans ton module Main (dll)

@+

PCPT [AFCK]
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
12 avril 2006 à 00:59
Merci du coup de main.

Je teste mais rien n'y fait. En fait, je ne peux pas charger la dll dans le projet. Elle ne s'inscrit pas dans la liste du menu Outils -> Références et quand je la charge avec le bouton parcourir j'ai le meme message d'erreur.

Je vais chercher encore mais il y a de quoi fatiguer...

Merci quand même du l'aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
13 avril 2006 à 00:52
Merci à tous les deux.

Il fallait 2 instances bien distinctes. Qui aurait pu trouver un truc pareil ? J'aurai pu tourner en rond sur mon code pendant des semaines...

Alors, merci encore.
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
13 avril 2006 à 09:55
Salut whombat,

de rien, par contre, si tu as le MSDN, tout cela y est expliqué de manière très exhaustive,
Chapitre "Création d'une dll activex", et "projet DLL ThingDemo".

Essaies aussi ce lien direct (toujours dans le MSDN) :
[Html/vbconcreatingtestingoledllexecutable.htm Html/vbconcreatingtestingoledllexecutable.htm]

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 avril 2006 à 11:24
salut rvblog,

content de te savoir si actif (manque de temps pour ma part, mais çà va ).



correction du lien? -> ici

++
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
13 avril 2006 à 11:27
Bien vu le lien PCPT,

je suis peu surbooké aussi, mais comme je fume, ben à chaque clope, je jète un oeil!

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
13 avril 2006 à 13:11
Merci pour ces tuyaux.

Je vais étudier tout ça.

Merci encore.
0
Rejoignez-nous