PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → DLL visual basic
DLL visual basic
Débuté par guest, 06 mar. 2006 18:05 - 8 réponses
Posté le 06 mars 2006 - 18:05
Bonjour,

Je dois utiliser une dll développée en visual basic. Mais je suis perdue. En regardant sur le forum j'ai bien vu que je n'étais pas la seule à avoir eu des problèmes. Alors j'en apèle à l'expérience de certains dans ce domaine (notamment eboussou) pour me dire comment ils s'en sont sortis.

Merci beaucoup par avance

Caroline
Posté le 07 mars 2006 - 10:10
Il s'agit d'une DLL VB6 ou VB .NET ?

Dans le premier cas il faut veiller a enregistrer la DLL dans windows ...

Dans le deuxième cas utiliser l'assemblmage .NEt
Posté le 07 mars 2006 - 16:26
C'est une dll vb6. Le problème est qu' à l'invite du dos je tape la ligne suivante : regsvr32 <nomdelaDLL> et il m'affiche ce message : "<NomDeLaDLL> a été chargé mais le point d'entrée DllRegisterServer est introuvable. Ce fichier ne peut pas être enregistré. "

Que faire?
Posté le 07 mars 2006 - 16:56
une dll n'a pas forcément besoin d'etre enregistrée dans la base de
registre...

bon courage

cezame a écrit :
Il s'agit d'une DLL VB6 ou VB .NET ?

Dans le premier cas il faut veiller a enregistrer la DLL dans windows ...

Dans le deuxième cas utiliser l'assemblmage .NEt


Posté le 07 mars 2006 - 17:15
Merci,
mais apparemment c ce qu'il faut faire avec une dll vb6. Sinon, comment faire? Utiliser chargedll() mais ça n'a pas l'air de fonctionner. Ou gérer la dll comme un objet OLE?
Posté le 07 mars 2006 - 22:54
avec une dll, en général une document est fournie explicant les
fonctions qui peuvent etre appelées ainsi que leurs paramètres

n'as tu pas une telle doc ?
ou un fichier ayant "h" comme extension ?!

sinon ca risque d'etre difficile...

bon courage ;)

caroline a écrit :
Merci,
mais apparemment c ce qu'il faut faire avec une dll vb6. Sinon, comment faire? Utiliser chargedll() mais ça n'a pas l'air de fonctionner. Ou gérer la dll comme un objet OLE?


Posté le 08 mars 2006 - 07:18
Bonjour Caroline,

Les DLL VB6 ne sont pas des DLL standard, il faut "donc" utiliser la fonction suivante pour y accéder:

maDll_VB6 est un objet OLE "maClasse"

Pour accéder aux "fonctions" de la DLL utilise la syntaxe suivante:

maDLL_VB6>>maFonction



Exemple:

maDllVB est un objet OLE "ArcomFD.ArcomX" // ArcomFD est le nom de la DLL et ArcomX le nom de la classe, le tout entre guillemets.
maDllVB>>Relai_CLOSE(1)


En espérant t'avoir aidé.

Cordialement,

F10
Posté le 08 mars 2006 - 10:41
Bonjour et merci de ta réponse,

Il me semblait bien qu'il fallait faire comme ça (vu dans la doc windev) mais g 2 problèmes:

1- Apparemment il faut enregistrer la dll dans la base de registre.Le problème est qu' à l'invite du dos je tape la ligne suivante : regsvr32 <nomdelaDLL> et il m'affiche ce message : "<NomDeLaDLL> a été chargé mais le point d'entrée DllRegisterServer est introuvable. Ce fichier ne peut pas être enregistré. "

2- Le second problème c'est que j'ai le nom de ma dll (normal...), le descriptif des fonctions(documentation texte) mais j'ai pas de classe...(que mettre à la place de ArcomX).

Merci de m'aider car j'avoue que je suis un peu perdue..

Caroline
Posté le 09 mars 2006 - 18:01
Bonjour Caroline,

As tu les sources de la DLL VB6 ? Ou peux tu te les procurer ?

Je vais essayer de répondre à tes 2 questions très prochainement...

F10