Utilisé ses DLLs ???

cs_phenix2000 Messages postés 6 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 13 mai 2004 - 2 mars 2004 à 18:26
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 - 3 mars 2004 à 14:03
PHENIX
Votre texte ICI

Bonjour...
Alors une petite question...
J'ai trouvé sur ce site deux méthodes pour créer et utiliser sa propre DLL créer avec VB6...

Soit :
Declare Sub MaFonction Lib "MaDll.dll"

Soit :
Dim MaDllTest as Object
Set MaDllTest = CréateObjet("blablabla.blabla")
MaDllTest.LaFonction
Set MaDll=Nothing

Pouvez-vous m'expliquer et mieux me donner un exemple près a fonctionner de ces deux méthodes et comment les utiliser et si je dois déclarer ma dll quelque part et etc...

Vraiment un grand merci...

9 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
2 mars 2004 à 19:04
labout

Voila supposons une classe nommée clsListviewExtended qui contient des fonctions

AttachControl
DessinerArrièrePlanFaçonListing
AjusterLargeurDesColonnes

Dans la fenetre d'utilisation

Option explicit
Private m_LE As clsListviewExtended

Dans le load de la form
Set m_LE = New clsListviewExtended '
Call m_LE.AttachControl(ListView1) '
m_LE.DessinerArrièrePlanFaçonListing
m_LE.AjusterLargeurDesColonnes

Cet exemple est tiré d'une classe qui met en forme un listview
Voir dans mes sources
http://www.vbfrance.com/code.aspx?ID=3246

C'est un exemple qui permet le tri d'un listview, le dimensennement automatique des colonnes et la coloration une ligne sur 2.

@+
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 mars 2004 à 20:01
Salut,
labout t'a mis tout ce qu'il faut pour te servir d'une dll vb.

Declare Sub MaFonction Lib "MaDll.dll"
Cette syntaxe est pour les vraies DLLs en langage compile qui exportent des fonctions avec un point d'entree (API), non faisable en vb.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
2 mars 2004 à 21:03
labout
Et comment cela ???
La question est utiliser une dll écrite en en VB6 (donc une bibliothèque de classe) pour un porogramme VB6. Et la réponse que j'ai donné est correspond à la question.
Je ne comprends pas du tout ton commentaire, il n'était absolument pas question d'un appel à une API donc un Sub MaFonction Lib "MaDll.dll" est inaproprié.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 mars 2004 à 21:10
labout, te fache pas, j'ai bien dit que tu lui avais mis ce qu'il fallait.
Juste que sa question etait en plus sur la difference entre 2 formes d'appel de dll. Voir tout debut de son post.

ciao...
BruNews, Admin CS, MVP Visual C++
0

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

Posez votre question
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
2 mars 2004 à 21:20
labout
Ok je ne t'avais pas compris et ton message pouvait dérouter phoenix.
Le debut de son post ne correspondait pas en effet avec ce qu'il souhaitait faire.
@+
0
cs_phenix2000 Messages postés 6 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 13 mai 2004
2 mars 2004 à 22:12
PHENIX
Votre texte ICI

Oui, merci à tous les deux...

Alors excusé moi si je n’utilise pas toujours les bons termes mais je ne suis pas de formation Informatique, je ne suis qu’un Automaticien Roboticien qui cherche a connaître les basses du VB6…

J’avais juste remarqué que des personnes utilisaient des DLL dans leur Projet…

Certain utilisaient Declare Sub MaFonction Lib "MaDll.dll" ce qui est apparemment valable que pour des DLL faite autre part que sous VB6 (merci « BruNews ») et je suis pas contre savoir d’où viennent les autres Dll…

Et que pour les DLL faite sous VB6, soit une bibliothèque de class, (merci « labout » et continu même si comme je l’ai vu sur d’autre de tes sources, certain critique facilement mais ne propose pas mieux)…

Donc j’ai fait un petit truc qui passe mais je ne sais pas si c’est vraiment bon car je n’utilise pas exactement les mêmes lignes que « labout » et je me demande toujours comment faire si ma Dll est dans un autre Répertoire ??? et si je veux retourner une réponse ou un résultat ???

EssaiDll.dll =>
(avec MaClass.cls qui contient Function Bonjour)

Public Function Bonjour(Valeur)
Message = "Coucou " & Valeur
MsgBox ("Coucou" & Valeur)
End Function

EssaiExe.exe =>

Private Sub Command1_Click()
Dim EssaiExe As Object
Set EssaiExe = CreateObject("EssaiDll.MaClass")
EssaiExe.Bonjour ("Toi...")
End Sub
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
3 mars 2004 à 10:38
labout

Ce n'est pas difficile.
Pour utiliser ta DLL ou qu'elle soit.
Tu l'enregistre DANS LA BASE DE REGISTRE avec REGSVR32 si ce n'est pas déjà fait
ensuite
Tu l'ajoute dans la référence de ton projet
Projet / Référence
et tu pointes sur ta dll
ensuite dans ton projet

Private m_LE As madll
Set m_LE = New madll
Pour appeller la fonction
x=madll.foction
@+
0
cs_phenix2000 Messages postés 6 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 13 mai 2004
3 mars 2004 à 13:52
PHENIX
Votre texte ICI

Bon alors, des nouvelles...

J'ai réussi à Enregistrer ma DLL avec Regsvr32.EXE qui me permet de la placer où je veux...

J'ai réussi à Recevoir une réponse de ma Dll me donnant une réponse après affichage...

J'ai réussi à Déclarer ma DLL dans mon projet sous reférence, mais je ne sais pas ce que ça m'apporte en plus, ça doit avoir un rapport avec le Set ??? = New ???...

Par contre, je n'arrive toujours pas utiliser la technique avec Set ??? = New ??? que me propose "labout" que je remerci pour son aide...
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
3 mars 2004 à 14:03
labout

Peu importe la technique si tu peux appeller les fonctions de ta DLL c'est ce qui importe.
@+
0
Rejoignez-nous