Une bibliothèque de type permet de déclarer les interfaces (prodécures, constantes et types) qui sont exposées par une librairie de lien dynamique (DLL), un objet COM ou une application. Une bibliothèque de type est généralement une ressource d'un programme; elle peut aussi être un fichier binaire avec l'extension .tlb ou .olb. La boîte de dialogue Références de Visual Basic liste toutes les bibliothèques de types enregistrées sur votre système.
Il existe une méthode plus classique pour référencer les fonctions d'une librairie dynamique dans un programme Visual Basic, en utilisation la clause Declare pour les procédures et les clauses Const, Enum et Type (pour les constantes et types). Il existe cependant des avantages à utiliser une bibliothèque de type plutôt que des déclarations classiques :
- C'est le seul moyen de référencer les interfaces des objets COM. Il n'existe pas d'équivalent à la clause
Declare dans le langage Visual Basic pour accéder aux interfaces des objets COM de Windows.
- Chaque déclaration peut être commentée
- Cela permet d'alléger considérablement le source d'un programme Visual Basic,
- Contrairement aux déclarations standard les déclarations non utilisées ne sont pas enregistrées dans le programme compilé, ce qui permet d'alléger considérablement la taille du fichier binaire de l'application sans avoir à faire le tri préalable des déclarations réellement utilisées par votre application.
- La clause
Declare n'est pas disponible en Visual Basic Script.
A l'inverse l'utilisation d'une bibliothèque de type présente un inconvénient :
- Lorsque vous appellez une procédure pour laquelle vous avez écrit une déclaration de type
Declare, Visual Basic teste la présence de la DLL à l'exécution et déclenche une erreur piégeable dans le cas contraire. Si vous appelez une procédure déclarée dans une bibliothèque de type, la DLL contenant cette fonction devient une dépendance de chargement de votre programme. Si la DLL n'existe pas, votre programme ne démarrera même pas. Cet inconvénient est négligeable dans le cas de bibliothèque de type faisant référence à des composants de base de Windows.
|
 |