SafeArrayTypeMismatchException: указанный массив не относится к ожидаемому типу.C#

Место общения программистов C#
Anonymous
SafeArrayTypeMismatchException: указанный массив не относится к ожидаемому типу.

Сообщение Anonymous »

Я пытаюсь прочитать данные с сервера OPC DA. Я использую метод SyncRead

Код: Выделить всё

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: указанный массив не соответствует ожидаемому типу

Кто-нибудь может мне помочь?>

Вернуться в «C#»