2011-02-24 72 views
2

我知道,我在这里赌博。我不知道我能否在这一点上得到帮助。但是,这是问题。DTSearch COM Interop - 如何将对象暴露给C#?

我工作的公司拥有包含C++源代码的完全许可的,如果是旧的开发人员DTSearch副本。他们在我正在更新的应用程序中使用它。我被告知要在目前正在使用的这个应用程序的C#补充中使用它。但是,我没有.NET程序集,因为某些原因他们拒绝实现它。

因此,我可以很容易地在对象浏览器中查看dtengine,并且有很多可爱的对象在等着我来使用它们。但是他们都不会实例化。试图让我得到

'dtengine.SearchJobClass'不能嵌入。改为使用适用的界面。

还有接口嘉豪,我可以很容易地实现他们中的任何一个。麻烦的是,“抛出新的NotImplementedException”并不完全让我的搜索完成。

有没有人有任何线索?

+0

你找出你的问题的答案吗? – 2011-03-08 20:47:06

+0

我不知道你的版本有多大,但目前版本的dtsearch带有一个dotnet包装。也许你应该说服他们升级。 – mosheb 2011-03-16 20:44:57

+0

我没有说服他们升级。 – dogged 2011-05-04 11:08:55

回答

0

我用过,你必须实例化,像这样一些COM对象:

Foo f = new FooClass(); 

是否DTSearch有容貌相似的类名?

我也相信COM接口是特殊的,你可以通过它的接口实例化COM对象,尽管我很难找到好的例子。

我发现这一点:

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

请注意,如果您向下滚动,你会看到他们在一个特殊的方式实例化接口。我并不是说这是一个解决方案,但它可能有助于您调查如何在您的应用程序中使用DTSearch COM包装。