stuggling ici ...Windows Script Host - JScript et VBScript avec COM Object
VBScript
Je DLL chargé, et peut créer un objet;
Set objServer = CreateObject("Matrikon.OPC.Automation.1")
Je peux alors créer un nouvel objet, basé sur une propriété du objServer (je crois que je dis ce droit?)
Set objGroups = objServer.OPCGroups
Set objGroup = objGroups.Add("Group001")
Le manuel montre OPCGroups
est un Property
de OPCServer
. Une fois que j'ai appelé cette propriété, il me reste un nouvel objet de type OPCGroups, que je peux ensuite appeler ses propriétés et méthodes.
Syntax OPCGroups As OPCGroups
Cela fonctionne très bien. Je continue alors, et reste bloqué en appelant cette fonction;
Syntax AddItems (Count As Long, ItemIDs() As String, ClientHandles() As Long, ByRef ServerHandles() As Long, ByRef Errors() As Long, Optional RequestedDataTypes As Variant, Optional AccessPaths As Variant)
Il veut un tableau de chaînes. Cependant, dans VBScript, je me retrouve toujours avec un tableau de variantes (VarType = 8204). Lorsque j'essaie de transmettre ma matrice, j'obtiens une erreur de type incompatibilité. Je ne peux pas trouver un moyen de le typer fortement à un tableau de chaînes; Je ne suis même pas sûr que ce soit possible.
Plus de JScript
JScript
J'effectuer les mêmes premiers pas comme ci-dessus, mais quand je crée l'objet OPCGroups
;
var objGroups = objServer.OPCGroups;
Quelque chose n'a pas fonctionné. Il n'a pas réellement créé un objet OPCGroups
avec toutes ses propriétés/méthodes associées. Lorsque je tente et appeler une méthode
var objGroup = objGroups.Add();
Il dit que le «objet ne prend pas en charge cette propriété ou méthode. C'est comme si cela créait simplement un objet générique/vide; pas un tapé comme objet OPCGroups
.
Donc. Puis-je contourner ou de ces problèmes?
Avec la version vbscript avez-vous essayé de contraindre chaque élément du tableau à une chaîne avec le CSTR fonction? –
bien sûr; 'Ne Jusqu'à objTextFile.AtEndOfStream \t Redim Preserve arrFileLines (i) \t arrFileLines (i) = CStr (objTextFile.Readline) \t i = i + 1 Loop' – mriksman
quelques informations ici: https://support.microsoft .com/fr-fr/help/244012/info-type-mismatch-errors-quand-vous-passez-les-paramètres-de-asp-vers-un-composant visuel-de-base –