Questions de base sur les DLL et VB

cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008 - 22 juil. 2004 à 00:21
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008 - 22 juil. 2004 à 11:28
Salut tout le monde, voila je développe depuis pres de 6 mois des toutes petites applis et je m'interresse à un peu plus que les exe, j'ai regardé comment faire des OCX et maintenant je m'interresse au DLL.

Bon ma première question sera qu'est-ce qu'une DLL ? D'après ce que j'ai cru comprendre, ce serait comme un module géant, avec uniquement des fonctions que l'ont peu appellé apres depuis son application ? C'est bien ca ?

Ensuite, j'ai lu qu'il fallait connaitre le Turbo Pascal pour faire une DLL en VB. C'est juste ?

Enfin j'aimerais savoir comment se présente l'architecture du code d'une DLL en VB ? Si vous aviez un lien vers la source d'une DLL en VB je pourrais me faire une idée moi meme.

Merci à tous por vos réponses

bonne prog :)

2 réponses

huelce Messages postés 45 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 28 juillet 2004 1
22 juil. 2004 à 03:47
Salut,
en effet une DLL contient des fonctions et des procédures qui peuvent être appellée depuis n'importe quel EXE si l'on a la référence correcte de la fonction souhaitée (nom, arguments, etc.).

Non il ne faut pas connaitre le Turbo Pascal pour creer des DLLs.
La majorité des DLLs sont faites en C/C++ mais on peut faire des DLLs à partir de n'importe quel language du moment que l'on respecte un certain protocole. La preuve, tu peux faire des DLLs à partir de VB.

Si tu crées une DLL dans VB, tu peux quasiment y fourrer tout ce que tu veux : function et sub dans une classe, mais pourquoi pas aussi des formulaires... Tu peux par exemple appellée une fonction qui t'affichera un formulaire (originaire de ta DLL).
Tu peux aussi mettre des ressources dans ta DLL, par exemple des icones, etc.

La différence fondamentale entre les DLLs en C/C++ et les DLLs VB c'est que pour appelée une fonction d'une DLL en C il te suffit de déclarer les fonctions de cette DLL dans la partie "déclarations" d'un formulaire ou d'un module ; c'est ce que tu fais quand tu déclare une API : tu déclares une fonction d'une DLL que tu pourra appeller n'importe où dans ton code.

En VB, une telle déclaration n'est pas faisable à la base (bien qu'un add-in de EBArtSoft prouve le contraire grace à une bidouille lors de l'enregistrement de ta DLL) il faut en principe creer un objet du style : NomDLL(sans extension).NomClasse.
L'autre moyen est de déclarer ta DLL VB dans les références de ton projet, le problème est que si tu recompiles ta DLL, ta référence sera fausse (pbm de version).

Voilà, mes explications sont assez sommaires... mais d'autres pourront le faire mieux que moi, je ne suis pas un pro de la DLL, j'ai peut-être dit des conneries...

De plus je te conseille de regarder les sources/tutos de DLLs présentes sur ce site. Il y en a quelques unes qui pourront tout à fait te guider dans leurs réalisation/utilisation.
0
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008
22 juil. 2004 à 11:28
Merci beaucoup huelce tu as parfaitement répondu à mes questions.
Je vais me pencher sur les tutos présent sur le site. Merci à toi d'avoir pris le temps de rédiger tout ca :)
0
Rejoignez-nous