2008-11-06 7 views
4

J'ai du mal à utiliser un COM .NET en vb6, Il compile ok et j'utilise regasm pour l'enregistrer, ajouter une référence dans le projet vb6, il a même intellisense. Mais quand j'essaye de faire une instance, cela me donne une 'erreur d'automatisation'. Quelqu'un peut-il aider?Utiliser COM .NET en vb6

Merci d'avance.

Répondre

3

Vous devez probablement vous assurer que vos assemblys .NET se trouvent dans le répertoire de l'application VB6 ou, si vous déboguez dans l'IDE VB6, qu'ils se trouvent dans le répertoire de VB6.exe.

Il est possible de faire en sorte que l'interopérabilité COM fonctionne avec les DLL COM (voir l'option codebase de regasm) mais par défaut, les assemblys .NET sont recherchés comme dans le répertoire GAC ou application - même lorsqu'il est utilisé via COM interop.

Un moyen très simple d'obtenir un aperçu de l'emplacement de votre assemblage est d'utiliser l'utilitaire sysinternals filemon.

0

Je pense que vous devez compiler le projet .Net d'une certaine manière pour être utilisé par les objets COM. Et les dlls .Net doivent être à côté, dans le même répertoire, que l'objet COM qui les appelle (s'ils occupent le même espace je pense).

Pages de propriétés du projet \ Propriétés de configuration \ Construire \ Registre pour COM Interop = true

Questions connexes