cs_phenix2000
Messages postés6Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention13 mai 2004
-
2 mars 2004 à 18:26
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 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...
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
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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.
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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é.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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++
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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.
@+
cs_phenix2000
Messages postés6Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention13 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
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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
@+
cs_phenix2000
Messages postés6Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention13 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...