2009-12-15 80 views
0

我們在C#.NET中有一段遺留代碼,目標是Compact Framework。我們希望將此代碼轉換爲ActiveX控件,該控件必須在Windows Mobile 5下的.NET Compact Framework上運行。是否可以實現這樣的控件?如果是這樣,任何人都可以提供一個很好的資源,解釋如何做到這一點?是否可以在C#.NET CF for Windows Mobile中編寫ActiveX控件?

我已經搜索了很多,但還沒有找到明確的答案或資源。

看來,這完全可以在完整的.NET Framework上實現。我還發現,不可能從非託管環境啓動這種控制。但除此之外,我無法找到我的問題的確切答案。

回答

1

.NET CF不支持託管。這意味着當它要求通過註冊表中指定的詳細信息實例化一個.NET CLR運行時時,非託管進程(大多數ActiveX容器,如Internet Explorer Mobile等)將無法啓動。因此,.NET CF不支持桌面版本用於註冊COM/ActiveX對象的功能。

因此,在這方面,您無法創建可由任意應用程序使用的ActiveX控件。

如果您的遺留代碼是基於C#的,那麼將其封裝爲ActiveX控件背後的驅動因素是什麼?受管理的用戶控件或類庫是否是合適的替代品?

+0

驅動因素是:另一方正在實施託管應用程序。我們的代碼可以處理他們想要使用的非常具體的功能。出於某種原因,他們的架構規定他們可以通過嚴格定義的ActiveX接口與外部庫進行通信。這就是我正在研究這個問題的原因。如果事實證明是不可能的,我們將不得不尋找一些替代品... – Daan 2009-12-15 10:36:05

+0

不是我真正希望的答案,但感謝您的回覆。我們必須找出一種替代方法來連接我們的代碼。 – Daan 2009-12-15 12:02:33

1

總之不,因爲Windows mobile上的.NET CF非常有限,而且子集小得多。沒有這樣的東西,因爲受限制,在Windows Mobile上託管ActiveX ......我只是意識到我給另一個SO用戶here寫了一個詳細的答案。

希望這會有所幫助, 最好的問候, 湯姆。

+0

我擔心這將成爲答案......無論如何感謝您的回覆。 – Daan 2009-12-15 12:03:13

相關問題