2010-05-10 2 views

Répondre

0

Non, ce n'est pas le cas. C'est seulement utilisé au moment de la compilation.

0

Uniquement si vous utilisez le multithreading, c'est-à-dire les fichiers EXE ActiveX ou in-proc avec les fonctions CoMarshalInterThreadInterfaceInStream etc.

1

Non, généralement est nécessaire uniquement si vous appelez du code qui tente d'utiliser les types de la bibliothèque de types. J'ai trouvé quelques exceptions, impliquant l'utilisation de types de la bibliothèque de types pour dimensionner des variables. Je pense que c'était quelque chose comme ça ...

Supposons que la bibliothèque de types définisse une structure A, et que votre application contienne une procédure comme celle-ci. Si la bibliothèque de types n'est pas enregistrée, votre application ne peut pas démarrer. Un message d'erreur s'affiche.

Sub testSub1(ByRef mybadarray() As A) 

mais ce serait OK

Sub testSub2() 
    Dim ok As A ' OK provided you never actually Call testSub2 at runtime ' 
+0

Je ne suis pas clair sur ce que "le code utilise le type". Donc, si je DIM une variable comme TYPE ou mettre cette variable à une valeur, est-ce considéré comme "utilisant" le type? et dans ce cas, ai-je besoin de distribuer le fichier .tlb? –

+0

http://stackoverflow.com/users/15639/markj Si je peux obtenir quelques précisions sur la question ci-dessus, je peux marquer votre réponse Acceptée. THX! –

0

Dans mon expérience, je distribue toujours le fichier TLB ainsi .EXE y compris l'enregistrement, il m'a aidé à éviter les multiples erreurs d'exécution comme « Run -time error '429': Le composant ActiveX ne peut pas créer d'objet ".

Questions connexes