2013-08-19 19 views
-1

我們有一個很老的和複雜的VB6應用程序,它可以像CreateObject(sClassName,sServerName)一樣啓動.NET服務器對象。它在我們的生產服務器上正常工作。現在我們正試圖將我們的產品轉移到Windows 2008 R2 64-bet機器,並且該調用不再工作,沒有錯誤,沒有任何問題,它總是返回空字符串。看起來我們的.NET對象沒有被創建。 所有對象都有GUID和ProgId,在裝配和整體模仿中可以模仿生產中的任何東西。 任何意見將不勝感激。服務器轉換爲Windows 2008 R2時,不從VB6啓動的.NET對象64位

回答

0

CreateObject不能返回空字符串。它要麼是returns an object or raises an error

也許你不小心使用了舊版本的組件?放入一些日誌記錄並檢查返回對象的TypeName。

您是否忽略了錯誤繼續下一個錯誤?

當您構建.Net組件時,您可以嘗試明確定位32位,因爲VB6只能以32位運行。

+0

不,我確信組件的版本。 VB6運行得很好,並從其他類型的組件返回數據。看起來它不是創建對象,不知道如何檢查原因。 – user2138121

+0

好吧,我能夠得到一個錯誤錯誤號:4100來源:Microsoft ADO/RDS說明:無法創建業務對象。我也檢查objct是否被myObject創建爲Nothing,它返回False,所以我相信它實際上是創建的。當我嘗試調用myObject.myFunction()時出現錯誤,這是它失敗的地方。 – user2138121

+0

谷歌建議[檢查新機器上的一些配置設置](http://support.microsoft.com/kb/251122) – MarkJ

相關問題