这里有点吃力......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 –