Message d'erreur lors du chargement de la Dll [Résolu]

whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 10 avril 2006 à 16:00 - Dernière réponse : whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention
- 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.
Afficher la suite 

9 réponses

rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 12 avril 2006 à 22:02
+3
Utile
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>
Cette réponse vous a-t-elle aidé ?  
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 11 avril 2006 à 01:47
0
Utile
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é...
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 11 avril 2006 à 11:52
0
Utile
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]
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 12 avril 2006 à 00:59
0
Utile
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.
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 13 avril 2006 à 00:52
0
Utile
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.
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 13 avril 2006 à 09:55
0
Utile
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>
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 13 avril 2006 à 11:24
0
Utile
salut rvblog,

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



correction du lien? -> ici

++
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 13 avril 2006 à 11:27
0
Utile
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>
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 13 avril 2006 à 13:11
0
Utile
Merci pour ces tuyaux.

Je vais étudier tout ça.

Merci encore.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.