2009-07-10 6 views
2

En général, nous importer un fichier TLB au démarrage du programme commeComment importer une tlb et un espace de noms en C++ lors de l'exécution lorsque certaines conditions se rencontrent?

#include <stdio.h> 
#import " sql.tlb " 

Mais je dois importer un fichier TLB lorsque certaines conditions se réunit au milieu du programme

comment puis-je faire cela. pour charger dll il y a LoadLibrary() mais pour charger tlb puis-je utiliser LoadLibrary().

Puisque tlb est généré en utilisant .dll?

Répondre

8

Vous pouvez charger une bibliothèque de types lors de l'exécution à l'aide de LoadTypeLib.

ITypeLib *ptlib; 
LoadTypeLib("sql.tlb", &ptlib); 

Ce que vous faites alors avec ptlib est une sorte de dans l'air que vous ne dites pas vraiment ce que vous essayez de faire.

ptlib est un objet supportant l'interface ITypeLib. Il a des méthodes que vous pouvez appeler pour énumérer et itérer les types dans la bibliothèque de types. Normalement, vous l'utilisez en combinaison avec les autres interfaces comme ITypeInfo et ainsi de suite.

J'ai trouvé un document de style tutoriel plus complet here. En outre, ce link here a plus de détails, il montre également le fichier d'en-tête et la bibliothèque de liens que vous devez utiliser.

 
Header     oaidl.h, oaidl.idl 
Library     oleaut32.lib, uuid.lib 
Windows Embedded CE  Windows CE 2.0 and later 
Windows Mobile   Windows Mobile Version 5.0 and later 
+0

Mais chargement de la bibliothèque de type au milieu de PROGRM est mon exigence – Cute

+0

Que voulez-vous dire par « au milieu du programme »? Lors de l'exécution? Ou à la compilation? Ou au milieu d'un fichier? S'il vous plaît expliquer plus. –

+0

J'ai ajouté un peu plus de détails –