這裏有點吃力......Windows腳本宿主 - JScript和VBScript與COM對象
的VBScript
我有一個DLL加載,並且可以創建一個對象;
Set objServer = CreateObject("Matrikon.OPC.Automation.1")
那麼我可以創建新的對象的基礎上,objServer的屬性(我覺得我說,我對不對?)
Set objGroups = objServer.OPCGroups
Set objGroup = objGroups.Add("Group001")
手冊顯示OPCGroups
是OPCServer
一個Property
。一旦我調用了這個屬性,我就剩下一個OPCGroups類型的新對象,然後我可以調用它的屬性和方法。
Syntax OPCGroups As OPCGroups
這工作正常。然後我繼續,並在調用此函數時卡住;它需要一個字符串數組。但是,在VBScript中,我總是會得到一個變體數組(VarType = 8204)。當我嘗試並傳遞數組時,出現類型不匹配錯誤。我找不到一種將它強制輸入到字符串數組的方法;我甚至不確定這是可能的。
在爲JScript
的JScript
我執行相同的第一個步驟如上述,但是當我創建OPCGroups
對象;
var objGroups = objServer.OPCGroups;
有些東西沒有奏效。它並沒有實際創建一個OPCGroups
對象及其所有關聯的屬性/方法。當我嘗試並調用方法
var objGroup = objGroups.Add();
它說'對象不支持此屬性或方法'。就好像它只是創建了一個通用/空白的對象;沒有一個輸入爲OPCGroups
對象。
所以。我可以解決這些問題或?
使用VBScript版本,並試圖強迫陣列的每個項目爲一個字符串與CSTR功能? –
確實如此; '做,直到objTextFile.AtEndOfStream \t REDIM保留arrFileLines(I) \t arrFileLines(1)= CStr的(objTextFile.Readline) \t I = I + 1 Loop' – mriksman
一些信息在這裏:https://support.microsoft .com/en-us/help/244012/info-type-mismatch-errors-when-you-pass-parameters-from-asp-to-a-visual-basic-component –