OVH Cloud OVH Cloud

EXE sous VB avec des références à des DLL

2 réponses
Avatar
Buzz leclercq
Salut,

J'ai un souci de compilation ; voilà le problème :

dans un projet VB (on va l'appeler TRUC) , j'utilise la référence TOTO
suivante :

Public Declare Function toto Lib "toto.dll" (ByVal indice As Integer, ByVal
suite As String) As Variant

Bref, lorsque je recompile la DLL toto et que je reviens dans mon projet
TRUC, le projet me dit que la référence TOTO.DLL est introuvable... En fait,
il me l'a viré (ce malpropre) de ma liste des références liées à mon projet
(accés par Projet/Référence).

Conclusion : si on recompile une DLL utilisée comme reférence, on doit
RECHARGER à chaque fois la référence dans la liste du projet qui l'utilise
(???)...

Est-ce normal DOCTEUR ? je trouve cela TRES pénible d'autant plus que je
dois compiler TRUC en BATCH... donc plantage à l'ouverture du projet par
vb5.exe...

Quelqu'un aurait-il une solution ?

Merci ++

2 réponses

Avatar
François Picalausa
Bonjour/soir,

Public Declare Function toto Lib "toto.dll" (ByVal indice As Integer, ByVal
suite As String) As Variant



Ne fonctionne que pour une dll standard écrite, par exemple, en c mais
certainement pas en VB (du moins, pas sans addins).

VB génère des composants COM qui ne sont référencés QUE par
Projet/Référence.
Ensuite, tu crées ton composant, par défaut, comme ceci:

Dim Toto As ProjetToto.clsToto
Set Toto = New ProjetToto.clsToto
Toto.FonctionToto(args)
Set Toto = Nothing

Ou, comme un module standard, si en global instancing.
--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Buzz leclercq" a écrit dans le message de
news:bjsm55$a62$
Salut,

J'ai un souci de compilation ; voilà le problème :

dans un projet VB (on va l'appeler TRUC) , j'utilise la référence TOTO
suivante :

Public Declare Function toto Lib "toto.dll" (ByVal indice As Integer,


ByVal
suite As String) As Variant

Bref, lorsque je recompile la DLL toto et que je reviens dans mon projet
TRUC, le projet me dit que la référence TOTO.DLL est introuvable... En


fait,
il me l'a viré (ce malpropre) de ma liste des références liées à mon


projet
(accés par Projet/Référence).

Conclusion : si on recompile une DLL utilisée comme reférence, on doit
RECHARGER à chaque fois la référence dans la liste du projet qui l'utilise
(???)...

Est-ce normal DOCTEUR ? je trouve cela TRES pénible d'autant plus que je
dois compiler TRUC en BATCH... donc plantage à l'ouverture du projet par
vb5.exe...

Quelqu'un aurait-il une solution ?

Merci ++




Avatar
AUBIN Romuald
Bonjour
Comme le dis François si ta dll est compilé via VB, la façon dont tu la
déclare n'est pas correcte, de plus si tu veux pouvoir recompiler ta dll
sans avoir de soucis, il me semble que VB5 aussi possède l'option de
comptabilité binaire (puisque tu dispose déjà d'un executable compilé) ainsi
ta dll aura toujours le même identifiant et seréa chargée normalement.

En éspérant avoir répondu un minimum.

@+


"Buzz leclercq" a écrit dans le message de news:
bjsm55$a62$
Salut,

J'ai un souci de compilation ; voilà le problème :

dans un projet VB (on va l'appeler TRUC) , j'utilise la référence TOTO
suivante :

Public Declare Function toto Lib "toto.dll" (ByVal indice As Integer,


ByVal
suite As String) As Variant

Bref, lorsque je recompile la DLL toto et que je reviens dans mon projet
TRUC, le projet me dit que la référence TOTO.DLL est introuvable... En


fait,
il me l'a viré (ce malpropre) de ma liste des références liées à mon


projet
(accés par Projet/Référence).

Conclusion : si on recompile une DLL utilisée comme reférence, on doit
RECHARGER à chaque fois la référence dans la liste du projet qui l'utilise
(???)...

Est-ce normal DOCTEUR ? je trouve cela TRES pénible d'autant plus que je
dois compiler TRUC en BATCH... donc plantage à l'ouverture du projet par
vb5.exe...

Quelqu'un aurait-il une solution ?

Merci ++