2011-02-24 3 views
2

Je sais, je prends un pari ici. Je ne sais pas si je peux même être aidé sur celui-ci. Mais voici le problème.DTSearch COM Interop - Comment exposer des objets à C#?

La société pour laquelle je travaille dispose d'une copie de développeur DTSearch sous licence, si ancienne, y compris la source C++. Ils l'utilisent dans une application que je suis en train de mettre à jour. On m'a dit d'en faire usage dans les additions C# à cette application qui sont en cours d'élaboration. Cependant, je n'ai pas l'assembly .NET et ils refusent de l'implémenter pour une raison quelconque. Donc, je peux facilement voir dtengine dans le navigateur d'objets et il y a plein de beaux objets qui m'attendent pour les utiliser. Mais aucun d'eux ne va instancier. Tenter de le faire obtient moi

'dtengine.SearchJobClass' ne peut pas être incorporé. Utilisez l'interface applicable à la place.

Et il y a des interfaces à gogo, je peux facilement mettre en œuvre l'un d'entre eux. Le problème est que "throw new NotImplementedException" n'obtient pas exactement ma recherche.

Quelqu'un a des indices?

+0

Avez-vous trouvé une réponse à votre problème? –

+0

Je ne sais pas quel âge a votre version, mais les versions actuelles de dtsearch sont fournies avec un wrapper dotnet. Peut-être devriez-vous les convaincre de mettre à jour. – mosheb

+0

J'ai échoué à les convaincre de mettre à niveau. – dogged

Répondre

0

Je l'ai utilisé certains objets COM que vous devez instancier comme ceci:

Foo f = new FooClass(); 

Est-ce que dtSearch ont des noms de classe qui se ressemblent? Je crois aussi que les interfaces COM sont spéciales et que vous pouvez instancier un objet COM par son interface, mais j'ai du mal à trouver de bons exemples.

Je n'ai trouvé ceci:

http://www.codeproject.com/KB/COM/COMBasics.aspx

Notez que si vous faites défiler vers le bas, vous les verrez instancier l'interface d'une manière spéciale. Je ne dis pas que c'est une solution, mais cela peut vous aider dans votre recherche sur l'utilisation de l'encapsuleur COM DTSearch dans votre application.

Questions connexes