2011-02-24 114 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包裝。