Код: Выделить всё
SyncRead(short Source, int NumItems, ref Array ServerHandles, out Array Values, out Array Errors, out object Qualities, out object TimeStamps);
Я делаю это так:
Код: Выделить всё
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OPCAutomation;
using EasyModbus;
using System.Threading;
using System.IO;
Array ServerHandles = new Array[ObjOPCGroup.OPCItems.Count];
Array Values = new Array[ObjOPCGroup.OPCItems.Count];
Array Errors = new Array[ObjOPCGroup.OPCItems.Count];
object Qualities = new object();
object TimeStamps = new object();
Array Values = new Array[ObjOPCGroup.OPCItems.Count];
ObjOPCGroup.SyncRead(
(short)OPCDataSource.OPCDevice,
ObjOPCGroup.OPCItems.Count,
ref ServerHandles,
out Values,
out Errors,
out Qualities,
out TimeStamps
);
System.Runtime.InteropServices.SafeArrayTypeMismatchException: указанный массив не соответствует ожидаемому типу
Кто-нибудь может мне помочь?>