2012-07-10 20 views
2

我創建了一個C#dll並註冊爲Com對象。 (使用ProgID,Set Comvisible True並使用強名稱簽署程序集)。不調用c#函數的VB腳本代碼

我嘗試使用下面的VBScript代碼

Option Explicit 
Dim testwfhandler 
Set testwfhandler= CreateObject("CoreComponentWorkflow.WorkflowHandler") 
If Not testwfhandler Is Nothing Then  
Call testwfhandler.test()  
End If 
Set testwfhandler= Nothing 

我失去了什麼叫C#方法?或者我做錯了什麼?

以下是我註冊的dll的註冊表信息。

enter image description here

+0

您是否收到錯誤信息?您應該嘗試在調試器中運行腳本並查看testwfhandler是否被分配。 – Tmdean 2012-07-10 17:09:15

+0

我收到以下錯誤「執行工作流腳本時發生錯誤,腳本引擎返回以下信息:SOURCE:Line = 3 Column = 0 Number = 429 Source = Microsoft VBScript運行時錯誤說明= ActiveX組件無法創建對象:'CoreComponentWorkflow.WorkflowHandler'HelpContext = 0引起的:Microsoft VBScript運行時錯誤和描述:ActiveX組件無法創建對象:'CoreComponentWorkflowflow.WorkflowHandler'Source:LogScriptError「 – user1428019 2012-07-10 17:11:05

+0

當你歸因於ProgId構造函數你的班? – 2012-07-10 17:15:24

回答

0

確保您已設置標記有ComVisible特性爲True C#組件

註冊使用匯編:

regasm /codebase YourAssembly.dll 

然後調用它,你有以上。

+0

我已經在Assemblyinfo.cs文件中將ComVisible設置爲True,並且清楚地註冊了程序集,請參閱上面的問題中我的attched屏幕截圖。 – user1428019 2012-07-10 17:12:58

+0

屏幕截圖太小而無法閱讀。感謝您的澄清。 – 2012-07-10 17:14:53

+0

在C#中實例化類的實例時會收到任何錯誤嗎? – 2012-07-10 17:16:00