Question vb-dll ...

Résolu
annesirine Messages postés 38 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 19 février 2006 - 11 août 2005 à 14:27
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 - 11 août 2005 à 15:34
Bonjour a tous,

Je voudrais savoir si on peut creer une dll en vb, et l'appeler ensuite avec une declaration a la :

Public Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Long) As Long

bon evidement en changeant la definition, le nom "shell32.dll" et les SHGetSpecialFolderPath et SHGetSpecialFolderPathA

(et non pas en faisant une reference dans vb avec projet, reference)

Apparement il faut la dll dans le chemin du programme, ou dans windows, ainsi que le .lib associé.
Mais apparement qq chose m'echappe car ca fait tjs une erreur du genre :

Erreur d'exécution '453':


Point d'entrée xxxxxxxx d'une DLL introuvable dans yyyyyyyy.dll

Mon souhait si c'est possible, serais un exemple d'une dll crée en vb (meme si une fonction fait juste 2+2 en msgbox), appelée avec une declaration dans un autre programme.

D'avance merci si une personne courageuse se manifeste.

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 août 2005 à 15:08
annesirine > NENNI, VB ne peut produire que de l'ActiveX avec extension DLL mais aucunement une vraie DLL API, pour faire cela c'est en C/C++.

ciao...
BruNews, MVP VC++
3
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
11 août 2005 à 14:35
as tu enregistrer t'as DLL dans ta registry ?

Ouvre une invite de commande et tape :

regsvr32 "d:\monrepertoire\MaDll.dll"



Désormais ta Dll est enregistrée tu peux je pense l'appeler dans ton programme..

Je ne peux pas te faire de projet je suis en .Net et plus en VB6..



Bon code
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
11 août 2005 à 15:10
Hahaha !!
Merci pour l'info
0
annesirine Messages postés 38 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 19 février 2006
11 août 2005 à 15:31
Saloute,

Le regsvr32 sur la dll fonctionne bien.


Imaginons que la dll crée sois : machin.dll, que dans cette dll j'ai fais juste un module de classe appelé : CLS1 avec une fonction dedans appelé Start.

Public Declare Function my_start Lib "machin.dll" Alias "start" (ByVal un_long As Long) As Long

...

ben apres ca fait une error :

Erreur d'execution '453'


Point d'entrée start introuvable dans machin.dll

quand j'appele un :

call my_start(1)
0

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

Posez votre question
annesirine Messages postés 38 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 19 février 2006
11 août 2005 à 15:33
D'accord, BruNews

Ca explique les choses alors.
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
11 août 2005 à 15:34
Oui mais apparemment tu ne peux pas faire de DLL Api avec VB6 .. donc voilou
0
Rejoignez-nous